aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2004-07-30 23:52:08 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2004-07-30 23:52:08 +0000
commit4d3722493b756ba90cd14717dff4667e0c34cd78 (patch)
tree0bd2be3d7957fba80b8aa9c82d0cb716cee90bad
parentdc0e2d0f0a022809b4827cfa8867d84c12d1e508 (diff)
downloadbusybox-w32-4d3722493b756ba90cd14717dff4667e0c34cd78.tar.gz
busybox-w32-4d3722493b756ba90cd14717dff4667e0c34cd78.tar.bz2
busybox-w32-4d3722493b756ba90cd14717dff4667e0c34cd78.zip
Simon Poole reports that awk segfaults when environment variables
with no value exist, i.e. $ export BOB='' % ./busybox awk Segmentation fault This patch teaches awk to not blow chunks on empty env variables. -Erik git-svn-id: svn://busybox.net/trunk/busybox@9054 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--editors/awk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/editors/awk.c b/editors/awk.c
index af8958925..c0e1a71fe 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -2670,8 +2670,12 @@ extern int awk_main(int argc, char **argv) {
2670 for (envp=environ; *envp; envp++) { 2670 for (envp=environ; *envp; envp++) {
2671 s = bb_xstrdup(*envp); 2671 s = bb_xstrdup(*envp);
2672 s1 = strchr(s, '='); 2672 s1 = strchr(s, '=');
2673 if (!s1) {
2674 goto keep_going;
2675 }
2673 *(s1++) = '\0'; 2676 *(s1++) = '\0';
2674 setvar_u(findvar(iamarray(V[ENVIRON]), s), s1); 2677 setvar_u(findvar(iamarray(V[ENVIRON]), s), s1);
2678keep_going:
2675 free(s); 2679 free(s);
2676 } 2680 }
2677 2681