diff options
| author | Eric Andersen <andersen@codepoet.org> | 2001-05-11 16:58:46 +0000 |
|---|---|---|
| committer | Eric Andersen <andersen@codepoet.org> | 2001-05-11 16:58:46 +0000 |
| commit | 5f265b755a92e7efdbd0d18694913209dfd9e055 (patch) | |
| tree | e6644e9f97dab0198ad771e1d330e02a7cce8553 /shell/cmdedit.c | |
| parent | 9d94deabd398634c6d1c601ba276f5afd97b2050 (diff) | |
| download | busybox-w32-5f265b755a92e7efdbd0d18694913209dfd9e055.tar.gz busybox-w32-5f265b755a92e7efdbd0d18694913209dfd9e055.tar.bz2 busybox-w32-5f265b755a92e7efdbd0d18694913209dfd9e055.zip | |
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 ce5450032..ec9939312 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
| @@ -355,6 +355,10 @@ static void parse_prompt(const char *prmt_ptr) | |||
| 355 | char c; | 355 | char c; |
| 356 | char *pbuf; | 356 | char *pbuf; |
| 357 | 357 | ||
| 358 | if (!pwd_buf) { | ||
| 359 | pwd_buf=unknown; | ||
| 360 | } | ||
| 361 | |||
| 358 | while (*prmt_ptr) { | 362 | while (*prmt_ptr) { |
| 359 | pbuf = buf; | 363 | pbuf = buf; |
| 360 | pbuf[1] = 0; | 364 | pbuf[1] = 0; |
