sed: Fix backslash parsing for 'w' command arg
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@google.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/editors/sed.c b/editors/sed.c
index 1054c13..cddb0c7 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -387,7 +387,7 @@
bb_error_msg_and_die("empty filename");
*retval = xstrndup(filecmdstr+start, idx-start+hack+1);
if (hack)
- (*retval)[idx] = '\\';
+ (*retval)[idx-start] = '\\';
return idx;
}