Fix an OOM handling problem
This commit is contained in:
Родитель
6daede08cb
Коммит
b4af26a188
|
@ -2360,22 +2360,20 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
||||||
encoded string */
|
encoded string */
|
||||||
size_t outlen = nlen + strlen(enc) + 2;
|
size_t outlen = nlen + strlen(enc) + 2;
|
||||||
char *n = malloc(outlen);
|
char *n = malloc(outlen);
|
||||||
if(!n)
|
if(!n) {
|
||||||
|
curl_free(enc);
|
||||||
return PARAM_NO_MEM;
|
return PARAM_NO_MEM;
|
||||||
|
}
|
||||||
if (nlen > 0) /* only append '=' if we have a name */
|
if (nlen > 0) /* only append '=' if we have a name */
|
||||||
snprintf(n, outlen, "%.*s=%s", nlen, nextarg, enc);
|
snprintf(n, outlen, "%.*s=%s", nlen, nextarg, enc);
|
||||||
else
|
else
|
||||||
strcpy(n, enc);
|
strcpy(n, enc);
|
||||||
curl_free(enc);
|
curl_free(enc);
|
||||||
if(n) {
|
|
||||||
postdata = n;
|
postdata = n;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return PARAM_NO_MEM;
|
return PARAM_NO_MEM;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
return PARAM_NO_MEM;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if('@' == *nextarg) {
|
else if('@' == *nextarg) {
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче