diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-09-15 16:38:48 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-09-17 23:33:18 +0200 |
commit | 156d33f4ae78bdac9fb6eb060e6ac652a84ae11c (patch) | |
tree | 51cea1b27013c996a4336056de5ce143cc998760 | |
parent | c8666089c82625a385e5d43df538b951635bccc8 (diff) | |
download | curl-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.c | 8 |
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; } |