From 553a0556695787e4c3b3bffb7ebb8d03b9578c88 Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Mon, 16 Jun 2008 18:30:12 +0200 Subject: [PATCH] ssb_sprom: Fix segfault in parameter parsing code. Signed-off-by: Michael Buesch --- ssb_sprom/ssb_sprom.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ssb_sprom/ssb_sprom.c b/ssb_sprom/ssb_sprom.c index facacab..a9080a2 100644 --- a/ssb_sprom/ssb_sprom.c +++ b/ssb_sprom/ssb_sprom.c @@ -1016,12 +1016,12 @@ static int do_cmp_arg(char **argv, int *pos, } if (strcmp(arg, template) == 0) { if (param) { - /* Skip the parameter on the next iteration. */ - (*pos)++; if (*param == 0) { prerror("%s needs a parameter\n", arg); return ARG_ERROR; } + /* Skip the parameter on the next iteration. */ + (*pos)++; } return ARG_MATCH; } @@ -1511,7 +1511,8 @@ static int parse_args(int argc, char *argv[]) if (err) goto error; } else { - prerror("Unrecognized argument: %s\n", argv[i]); + if (!parse_err) + prerror("Unrecognized argument: %s\n", argv[i]); goto out_usage; } if (parse_err) -- 2.31.1