From: Denys Vlasenko Date: Thu, 29 Oct 2015 18:46:40 +0000 (+0100) Subject: ash: fix command -- crash X-Git-Tag: 1_25_0~183 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e2f32c02b149f5a128c634231a0ef12d03843967;p=oweals%2Fbusybox.git ash: fix command -- crash busybox sh -c 'command --' segfaults because parse_command_args returns a pointer to a null pointer. Based on commit 18071c7 from git://git.kernel.org/pub/scm/utils/dash/dash.git by Gerrit Pape. Signed-off-by: Denys Vlasenko --- diff --git a/shell/ash.c b/shell/ash.c index 18c7ff523..8f0a5e0be 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -8878,14 +8878,15 @@ parse_command_args(char **argv, const char **path) for (;;) { cp = *++argv; if (!cp) - return 0; + return NULL; if (*cp++ != '-') break; c = *cp++; if (!c) break; if (c == '-' && !*cp) { - argv++; + if (!*++argv) + return NULL; break; } do { @@ -8895,7 +8896,7 @@ parse_command_args(char **argv, const char **path) break; default: /* run 'typecmd' for other options */ - return 0; + return NULL; } c = *cp++; } while (c);