mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Fix some memory leaks a problem introduced with the last commit
This commit is contained in:
parent
72b2c58983
commit
a300f1e47d
@ -1,3 +1,10 @@
|
||||
2013-07-13 Giuseppe Scrivano <gscrivano@gnu.org>
|
||||
|
||||
* http.c (digest_authentication_encode): Fix a crash when the algorithm
|
||||
is not specified in the server response. Free dynamic memory used by
|
||||
the function when the function exits.
|
||||
Reported by: Tim Ruehsen <tim.ruehsen@gmx.de>.
|
||||
|
||||
2013-07-13 Steven M. Schweda <sms@antinode.info>
|
||||
|
||||
* warc.c (warc_tempfile): Fix a portability issue on VMS.
|
||||
|
12
src/http.c
12
src/http.c
@ -3697,8 +3697,7 @@ digest_authentication_encode (const char *au, const char *user,
|
||||
param_token name, value;
|
||||
|
||||
|
||||
realm = opaque = nonce = qop = NULL;
|
||||
algorithm = "MD5";
|
||||
realm = opaque = nonce = algorithm = qop = NULL;
|
||||
|
||||
au += 6; /* skip over `Digest' */
|
||||
while (extract_param (&au, &name, &value, ','))
|
||||
@ -3755,7 +3754,7 @@ digest_authentication_encode (const char *au, const char *user,
|
||||
|
||||
dump_hash (a1buf, hash);
|
||||
|
||||
if (! strcmp (algorithm, "MD5-sess"))
|
||||
if (algorithm && !strcmp (algorithm, "MD5-sess"))
|
||||
{
|
||||
/* A1BUF = H( H(user ":" realm ":" password) ":" nonce ":" cnonce ) */
|
||||
snprintf (cnonce, sizeof (cnonce), "%08x", random_number(INT_MAX));
|
||||
@ -3855,6 +3854,13 @@ digest_authentication_encode (const char *au, const char *user,
|
||||
snprintf(res + res_len, res_size - res_len, ", algorithm=\"%s\"", algorithm);
|
||||
}
|
||||
}
|
||||
|
||||
xfree_null (realm);
|
||||
xfree_null (opaque);
|
||||
xfree_null (nonce);
|
||||
xfree_null (qop);
|
||||
xfree_null (algorithm);
|
||||
|
||||
return res;
|
||||
}
|
||||
#endif /* ENABLE_DIGEST */
|
||||
|
Loading…
Reference in New Issue
Block a user