[PATCH] sed: Fix backslash parsing for 'w' command arg

Denys Vlasenko vda.linux at googlemail.com
Mon Jan 21 12:50:35 UTC 2019


Applied, thanks!

On Wed, Jan 2, 2019 at 10:10 PM Brian Foley <bpfoley at google.com> wrote:
>
> 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
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox


More information about the busybox mailing list