summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-09-15 16:38:48 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-09-17 23:33:18 +0200
commit156d33f4ae78bdac9fb6eb060e6ac652a84ae11c (patch)
tree51cea1b27013c996a4336056de5ce143cc998760
parentc8666089c82625a385e5d43df538b951635bccc8 (diff)
downloadcurl-bagder/str2udouble-integer-overflow.tar.gz
curl: make str2udouble not return values on errorbagder/str2udouble-integer-overflow
... previously it would store a return value even when it returned error, which could make the value get used anyway! Reported-by: Brian Carpenter
-rw-r--r--src/tool_paramhlp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c
index 42631e9c3..7cddf51ce 100644
--- a/src/tool_paramhlp.c
+++ b/src/tool_paramhlp.c
@@ -242,14 +242,16 @@ static ParameterError str2double(double *val, const char *str, long max)
* data.
*/
-ParameterError str2udouble(double *val, const char *str, long max)
+ParameterError str2udouble(double *valp, const char *str, long max)
{
- ParameterError result = str2double(val, str, max);
+ double value;
+ ParameterError result = str2double(&value, str, max);
if(result != PARAM_OK)
return result;
- if(*val < 0)
+ if(value < 0)
return PARAM_NEGATIVE_NUMERIC;
+ *valp = value;
return PARAM_OK;
}