diff options
author | Eric Andersen | 2001-05-11 16:58:46 +0000 |
---|---|---|
committer | Eric Andersen | 2001-05-11 16:58:46 +0000 |
commit | 5f265b755a92e7efdbd0d18694913209dfd9e055 (patch) | |
tree | e6644e9f97dab0198ad771e1d330e02a7cce8553 /shell/cmdedit.c | |
parent | 9d94deabd398634c6d1c601ba276f5afd97b2050 (diff) | |
download | busybox-5f265b755a92e7efdbd0d18694913209dfd9e055.zip busybox-5f265b755a92e7efdbd0d18694913209dfd9e055.tar.gz |
Fix a segfault in lash, hush, and cmdedit. Each of these used
xgetcwd, but did not check the return for a NULL, and then continued
to call strlen on the NULL when the cwd had been removed from under it.
-Erik
Diffstat (limited to 'shell/cmdedit.c')
-rw-r--r-- | shell/cmdedit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index ce54500..ec99393 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c @@ -355,6 +355,10 @@ static void parse_prompt(const char *prmt_ptr) char c; char *pbuf; + if (!pwd_buf) { + pwd_buf=unknown; + } + while (*prmt_ptr) { pbuf = buf; pbuf[1] = 0; |