aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2022-03-01 10:08:59 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2022-03-01 10:10:22 +0100
commit5fe20cf3212fbada86fb75cf13064caed6a5f3a9 (patch)
treed19fb9ccf186b4cfa0706abeb177df0a10760a21
parent7750b5a25a8cf9081b7c248687c876d0068e85bb (diff)
downloadbusybox-w32-5fe20cf3212fbada86fb75cf13064caed6a5f3a9.tar.gz
busybox-w32-5fe20cf3212fbada86fb75cf13064caed6a5f3a9.tar.bz2
busybox-w32-5fe20cf3212fbada86fb75cf13064caed6a5f3a9.zip
ash: do not truncate failed tilde expansion on unknown user names
Do not skip over "*p = c;" statement. Testcase: echo ~~nouser/qwe function old new delta argstr 1396 1406 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 44ec2eafd..ef4a47afe 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -6532,9 +6532,7 @@ exptilde(char *startp, int flag)
6532 home = lookupvar("HOME"); 6532 home = lookupvar("HOME");
6533 } else { 6533 } else {
6534 pw = getpwnam(name); 6534 pw = getpwnam(name);
6535 if (pw == NULL) 6535 home = pw ? pw->pw_dir : NULL;
6536 goto lose;
6537 home = pw->pw_dir;
6538 } 6536 }
6539 *p = c; 6537 *p = c;
6540 if (!home) 6538 if (!home)