From 42354845ae5e00ec1c3519e1f2166b79a9533401 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sun, 23 Apr 2017 17:39:48 +0930 Subject: [PATCH] PR 21418, ar -N lacks arg check PR 21418 * ar.c (main): Check -a, -b, -i and -N args are given. --- binutils/ChangeLog | 5 +++++ binutils/ar.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 13a665cd3ed..eb540fab80a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2017-04-23 Alan Modra + + PR 21418 + * ar.c (main): Check -a, -b, -i and -N args are given. + 2017-04-23 Alan Modra PR 21417 diff --git a/binutils/ar.c b/binutils/ar.c index 8e4d81cc47c..32ac4040c6b 100644 --- a/binutils/ar.c +++ b/binutils/ar.c @@ -776,12 +776,18 @@ main (int argc, char **argv) default_deterministic (); if (postype != pos_default) - posname = argv[arg_index++]; + { + posname = argv[arg_index++]; + if (posname == NULL) + fatal (_("missing position arg.")); + } if (counted_name_mode) { if (operation != extract && operation != del) fatal (_("`N' is only meaningful with the `x' and `d' options.")); + if (argv[arg_index] == NULL) + fatal (_("`N' missing value.")); counted_name_counter = atoi (argv[arg_index++]); if (counted_name_counter <= 0) fatal (_("Value for `N' must be positive.")); -- 2.30.2