diff options
author | NIIBE Yutaka <[email protected]> | 2020-08-21 01:56:04 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2020-08-21 01:56:04 +0000 |
commit | 87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03 (patch) | |
tree | ef8eff010f3ce6248e32f8eedaedad68890b51b0 | |
parent | Fix a current gcc's -fsanitize warning. (diff) | |
download | libgpg-error-87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03.tar.gz libgpg-error-87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03.zip |
argparse: Handle a corner case of wrong ARGC.
* src/argparse.c (arg_parse): Avoid null dereference when ARGC is wrong.
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | src/argparse.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/argparse.c b/src/argparse.c index ca2b951..69bafca 100644 --- a/src/argparse.c +++ b/src/argparse.c @@ -1925,14 +1925,13 @@ arg_parse (gpgrt_argparse_t *arg, gpgrt_opt_t *opts_orig, int no_init) } next_one: - if (!argc) + if (!argc || (s = *argv) == NULL) { /* No more args. */ arg->r_opt = 0; goto leave; /* Ready. */ } - s = *argv; arg->internal->last = s; arg->internal->opt_flags = 0; |