diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-08-31 20:15:04 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2009-08-31 20:15:04 +1000 |
commit | cdb7c72699056856ac123d1ba4ab0e8595edbeb9 (patch) | |
tree | 8c647123ecc64543556dd8c6cfd406ba9a535650 | |
parent | [EVAL] Revert SKIPEVAL into EXEXIT (diff) | |
download | dash-cdb7c72699056856ac123d1ba4ab0e8595edbeb9.tar.gz dash-cdb7c72699056856ac123d1ba4ab0e8595edbeb9.zip |
[BUILTIN] Fix NUL termination in readcmd
Commit 55c46b7286f5d9f2d8291158203e2b61d2494420 ([BUILTIN] Honor tab as IFS whitespace when splitting fields in readcmd) introduced a bug where sometimes garbage would follow the last field preceding the end-of-line. This was caused by an off-by-one error in the string length calculation. This patch fixes the bug. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/miscbltin.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 9d397e4..13c9010 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-08-31 Herbert Xu <herbert@gondor.apana.org.au> + + * Fix NUL termination in readcmd. + 2009-08-11 Herbert Xu <herbert@gondor.apana.org.au> * Pass EV_TESTED into evalcmd. diff --git a/src/miscbltin.c b/src/miscbltin.c index cca0f6c..be746b2 100644 --- a/src/miscbltin.c +++ b/src/miscbltin.c @@ -182,7 +182,7 @@ resetbs: backslash = 0; } STACKSTRNUL(p); - readcmd_handle_line(stackblock(), ap, p - (char *)stackblock()); + readcmd_handle_line(stackblock(), ap, p + 1 - (char *)stackblock()); return status; } |