aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-08-04 11:49:27 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-08-05 11:52:27 +0200
commitd6c8def82a2cfc0d177acc81e4244221d4e98f2f (patch)
treeee4336ba58f1e3b242fa1177ffaeef763190c8d0 /src
parent0b11660234c4f9bbea7308402ad739dc3f153b08 (diff)
getparameter: avoid returning uninitialized 'usedarg'
Fixes #1728
Diffstat (limited to 'src')
-rw-r--r--src/tool_getparam.c2
-rw-r--r--src/tool_parsecfg.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index cc2d816f1..089d28574 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -443,6 +443,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
bool toggle = TRUE; /* how to switch boolean options, on or off. Controlled
by using --OPTION or --no-OPTION */
+ *usedarg = FALSE; /* default is that we don't use the arg */
if(('-' != flag[0]) ||
(('-' == flag[0]) && ('-' == flag[1]))) {
@@ -496,7 +497,6 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
letter = parse[0];
subletter = parse[1];
}
- *usedarg = FALSE; /* default is that we don't use the arg */
if(hit < 0) {
for(j = 0; j < sizeof(aliases)/sizeof(aliases[0]); j++) {
diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c
index 8432e5794..93814f454 100644
--- a/src/tool_parsecfg.c
+++ b/src/tool_parsecfg.c
@@ -49,7 +49,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
int res;
FILE *file;
char filebuffer[512];
- bool usedarg;
+ bool usedarg = FALSE;
char *home;
int rc = 0;
struct OperationConfig *operation = global->first;
@@ -220,7 +220,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
#endif
res = getparameter(option, param, &usedarg, global, operation);
- if(param && *param && !usedarg)
+ if(!res && param && *param && !usedarg)
/* we passed in a parameter that wasn't used! */
res = PARAM_GOT_EXTRA_PARAMETER;