path: root/ChangeLog.txt
diff options
authorSeebs <seebs@seebs.net>2017-04-13 18:12:01 -0500
committerSeebs <seebs@seebs.net>2017-04-13 18:12:01 -0500
commitb6b68db896f9963558334aff7fca61adde4ec10f (patch)
tree8eb28f2114259cc06af53961b8b60c09d45ac30d /ChangeLog.txt
parentefe0be279901006f939cd357ccee47b651c786da (diff)
Prevent bash from segfaulting when unloading pseudo
bash's extremely fancy internal awareness of how the environment looks means that, if you directly call the underlying libc "unsetenv" on a variable, bash can end up trying to access a null pointer. Fixing this generically is actually rather hard; you can't really avoid writing to environ on fork() or popen(), even if you change all execv*() functions to use the execv*e() variants. So for now, instead of unsetting the variable, set it to an empty string. Thanks to Saur in IRC for spotting this and helping debug it. Signed-off-by: Seebs <seebs@seebs.net>
Diffstat (limited to 'ChangeLog.txt')
1 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index a2d30e9..8ba1ffa 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,8 @@
+ * (seebs) don't unset LD_PRELOAD or the like, because if you
+ do that, bash can segfault because it "knows" how many
+ fields are in environ.
* (seebs) import posix_acl_default fix from Anton Gerasimov