aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2020-08-21 01:56:04 +0000
committerNIIBE Yutaka <[email protected]>2020-08-21 01:56:04 +0000
commit87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03 (patch)
treeef8eff010f3ce6248e32f8eedaedad68890b51b0
parentFix a current gcc's -fsanitize warning. (diff)
downloadlibgpg-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.c3
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;