64 lines
1.7 KiB
Diff
64 lines
1.7 KiB
Diff
diff -Naur csh-20240808/Makefile csh-20240808.patched/Makefile
|
|
--- csh-20240808/Makefile 2025-01-15 02:56:29.903448856 -0500
|
|
+++ csh-20240808.patched/Makefile 2025-01-15 02:57:32.900442927 -0500
|
|
@@ -8,7 +8,7 @@
|
|
SRCS= alloc.c char.c const.c csh.c dir.c dol.c error.c exec.c exp.c file.c \
|
|
func.c glob.c hist.c init.c lex.c misc.c parse.c proc.c \
|
|
sem.c set.c str.c time.c
|
|
-LDADD+= -lbsd -lpub
|
|
+LDADD+= -lbsd
|
|
|
|
CLEANFILES+=error.h const.h
|
|
|
|
diff -Naur csh-20240808/alloc.c csh-20240808.patched/alloc.c
|
|
--- csh-20240808/alloc.c 2024-08-08 07:03:03.000000000 -0400
|
|
+++ csh-20240808.patched/alloc.c 2025-01-15 02:58:23.516438164 -0500
|
|
@@ -89,3 +89,16 @@
|
|
}
|
|
return (n);
|
|
}
|
|
+
|
|
+void *
|
|
+xrealloc(void *p, size_t n)
|
|
+{
|
|
+ void *ptr;
|
|
+
|
|
+ if ((ptr = realloc(p, n)) == NULL) {
|
|
+ child++;
|
|
+ stderror(ERR_NOMEM);
|
|
+ }
|
|
+ return (ptr);
|
|
+}
|
|
+
|
|
diff -Naur csh-20240808/extern.h csh-20240808.patched/extern.h
|
|
--- csh-20240808/extern.h 2024-08-08 07:03:03.000000000 -0400
|
|
+++ csh-20240808.patched/extern.h 2025-01-15 02:58:45.102436132 -0500
|
|
@@ -283,6 +283,7 @@
|
|
void *xreallocarray(void *, size_t, size_t);
|
|
void *xcalloc(size_t, size_t);
|
|
char *xstrdup(const char *);
|
|
+void *xrealloc(void *p, size_t n);
|
|
|
|
/*
|
|
* str.c:
|
|
diff -Naur csh-20240808/glob.c csh-20240808.patched/glob.c
|
|
--- csh-20240808/glob.c 2025-01-15 02:56:29.916448854 -0500
|
|
+++ csh-20240808.patched/glob.c 2025-01-15 02:59:32.988431626 -0500
|
|
@@ -39,7 +39,6 @@
|
|
#include <unistd.h>
|
|
#include <limits.h>
|
|
#include <stdarg.h>
|
|
-#include <publib.h>
|
|
|
|
#include "csh.h"
|
|
#include "extern.h"
|
|
@@ -456,7 +455,7 @@
|
|
* Output is empty, or none of the magic patterns matched.
|
|
* It's up to the caller to generate a "No match" error.
|
|
*/
|
|
- xfree(nv);
|
|
+ if(nv) free(nv);
|
|
return (NULL);
|
|
}
|
|
*nvp = NULL;
|