diff options
-rw-r--r-- | shell/hush.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/shell/hush.c b/shell/hush.c index 7da8f334c..534fabbd0 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -4997,8 +4997,7 @@ static struct pipe *parse_stream(char **pstring, | |||
4997 | /* If very first arg is "" or '', ctx.word.data may end up NULL. | 4997 | /* If very first arg is "" or '', ctx.word.data may end up NULL. |
4998 | * Preventing this: | 4998 | * Preventing this: |
4999 | */ | 4999 | */ |
5000 | o_addchr(&ctx.word, '\0'); | 5000 | ctx.word.data = xzalloc(1); /* start as "", not as NULL */ |
5001 | ctx.word.length = 0; | ||
5002 | 5001 | ||
5003 | /* We used to separate words on $IFS here. This was wrong. | 5002 | /* We used to separate words on $IFS here. This was wrong. |
5004 | * $IFS is used only for word splitting when $var is expanded, | 5003 | * $IFS is used only for word splitting when $var is expanded, |
@@ -5795,8 +5794,7 @@ static char *encode_then_expand_vararg(const char *str, int handle_squotes, int | |||
5795 | */ | 5794 | */ |
5796 | 5795 | ||
5797 | setup_string_in_str(&input, str); | 5796 | setup_string_in_str(&input, str); |
5798 | o_addchr(&dest, '\0'); | 5797 | dest.data = xzalloc(1); /* start as "", not as NULL */ |
5799 | dest.length = 0; | ||
5800 | exp_str = NULL; | 5798 | exp_str = NULL; |
5801 | 5799 | ||
5802 | for (;;) { | 5800 | for (;;) { |