summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--poptconfig.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index b779c31..945bb06 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,6 @@
1.17 -> 2.0:
- - jbj: fix: SYSCONFDIR as prefix, not literal, when globbing (bz#1051685).
+ - jbj: fix: SYSCONFDIR as prefix, not literal, when globbing (rtc@helen.PLASMA.Xg8.DE).
+ - jbj: fix: handle glob(3) error returns (bz#1051685).
- jbj: i18n: update PO files (Translation Project).
- jbj: fix: free con->os->nextArg when used (memory leaks).
- jbj: enable SUPPORT_GLOBAL_CALCULATOR.
diff --git a/poptconfig.c b/poptconfig.c
index ea35088..9459382 100644
--- a/poptconfig.c
+++ b/poptconfig.c
@@ -112,7 +112,7 @@ static int poptGlob(/*@unused@*/ UNUSED(poptContext con), const char * pattern,
if (poptGlob_pattern_p(pat, 0)) {
glob_t _g, *pglob = &_g;
- if (!glob(pat, poptGlobFlags, poptGlob_error, pglob)) {
+ if (!(rc = glob(pat, poptGlobFlags, poptGlob_error, pglob))) {
if (acp) {
*acp = (int) pglob->gl_pathc;
pglob->gl_pathc = 0;
@@ -126,6 +126,10 @@ static int poptGlob(/*@unused@*/ UNUSED(poptContext con), const char * pattern,
/*@-nullstate@*/
globfree(pglob);
/*@=nullstate@*/
+ } else if (rc == GLOB_NOMATCH) {
+ *avp = NULL;
+ *acp = 0;
+ rc = 0;
} else
rc = POPT_ERROR_ERRNO;
} else