Unverified Commit 697271fc authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

curl: make str2udouble not return values on error

... previously it would store a return value even when it returned
error, which could make the value get used anyway!

Reported-by: Brian Carpenter
Closes #1893
parent 6d436642
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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;
}