summaryrefslogtreecommitdiffstats
path: root/abs/extra/libbsd/spt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/libbsd/spt.patch')
-rw-r--r--abs/extra/libbsd/spt.patch50
1 files changed, 0 insertions, 50 deletions
diff --git a/abs/extra/libbsd/spt.patch b/abs/extra/libbsd/spt.patch
deleted file mode 100644
index b19dc9b..0000000
--- a/abs/extra/libbsd/spt.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -u -r libbsd-0.5.2-orig/src/setproctitle.c libbsd-0.5.2/src/setproctitle.c
---- libbsd-0.5.2-orig/src/setproctitle.c 2013-06-08 18:26:04.000000000 +0200
-+++ libbsd-0.5.2/src/setproctitle.c 2013-06-18 02:35:59.441393418 +0200
-@@ -86,7 +86,7 @@
- if (environ != envp)
- return 0;
-
-- /* Make a copy of the old environ array of pointers, in case
-+ /* Make a deep copy of the old environ array of pointers, in case
- * clearenv() or setenv() is implemented to free the internal
- * environ array, because we will need to access the old environ
- * contents to make the new copy. */
-@@ -94,11 +94,13 @@
- envcopy = malloc(envsize);
- if (envcopy == NULL)
- return errno;
-- memcpy(envcopy, envp, envsize);
-+ for (i = 0; envp[i]; i++) envcopy[i] = strdup(envp[i]);
-+ envcopy[i] = NULL;
-
- error = spt_clearenv();
- if (error) {
- environ = envp;
-+ for(i = 0; envcopy[i]; i++) free(envcopy[i]);
- free(envcopy);
- return error;
- }
-@@ -116,18 +118,20 @@
- if (error) {
- #ifdef HAVE_CLEARENV
- /* Because the old environ might not be available
-- * anymore we will make do with the shallow copy. */
-+ * anymore we will make do with the deep copy. */
- environ = envcopy;
- #else
- environ = envp;
-+ for(i = 0; envcopy[i]; i++) free(envcopy[i]);
- free(envcopy);
- #endif
- return error;
- }
- }
-
-- /* Dispose of the shallow copy, now that we've finished transfering
-+ /* Dispose of the deep copy, now that we've finished transfering
- * the old environment. */
-+ for(i = 0; envcopy[i]; i++) free(envcopy[i]);
- free(envcopy);
-
- return 0;