[PATCH] sed: Fix backslash parsing for 'w' command arg
Brian Foley
bpfoley at google.com
Wed Jan 2 21:09:45 UTC 2019
If there's any whitespace between w and the filename, parse_file_cmd
writes to the wrong offset when trying to fix up backslashes.
This can be seen in the asan build with busybox sed -e 'w 0\\'
Signed-off-by: Brian Foley <bpfoley at google.com>
---
editors/sed.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/editors/sed.c b/editors/sed.c
index 1054c1302..cddb0c732 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -387,7 +387,7 @@ static int parse_file_cmd(/*sed_cmd_t *sed_cmd,*/ const char *filecmdstr, char *
bb_error_msg_and_die("empty filename");
*retval = xstrndup(filecmdstr+start, idx-start+hack+1);
if (hack)
- (*retval)[idx] = '\\';
+ (*retval)[idx-start] = '\\';
return idx;
}
--
2.17.1
More information about the busybox
mailing list