ecore/getopt: handle negative return in arg parsing
authorMike Blumenkrantz <zmike@samsung.com>
Fri, 18 Oct 2019 17:28:54 +0000 (13:28 -0400)
committerWonki Kim <wonki_.kim@samsung.com>
Mon, 11 Nov 2019 02:18:26 +0000 (11:18 +0900)
Summary:
_ecore_getopt_parse_find_nonargs_base() can return -1 on errors

CID 1402615

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10393

src/lib/ecore/ecore_getopt.c

index c85a71a..f81df25 100644 (file)
@@ -2135,6 +2135,7 @@ ecore_getopt_parse_positional(const Ecore_Getopt *parser,
      start = argc;
    else if (start < 1)
      start = _ecore_getopt_parse_find_nonargs_base(parser, argc, argv);
+   if (start < 0) goto error;
 
    nonargs = start;
    for (desc = parser->descs; !_ecore_getopt_desc_is_sentinel(desc); desc++);