Curl_MD5_init: fix OOM memory leak

Bug: http://curl.haxx.se/mail/lib-2012-04/0246.html
Reported by: Michael Mueller
This commit is contained in:
Daniel Stenberg 2012-04-23 23:07:40 +02:00
parent dd18e714ff
commit bd9eb30ffd

View File

@ -426,9 +426,9 @@ void Curl_md5it(unsigned char *outbuffer, /* 16 bytes */
MD5_Final(outbuffer, &ctx);
}
MD5_context * Curl_MD5_init(const MD5_params *md5params)
MD5_context *Curl_MD5_init(const MD5_params *md5params)
{
MD5_context* ctxt;
MD5_context *ctxt;
/* Create MD5 context */
ctxt = malloc(sizeof *ctxt);
@ -438,12 +438,14 @@ MD5_context * Curl_MD5_init(const MD5_params *md5params)
ctxt->md5_hashctx = malloc(md5params->md5_ctxtsize);
if(!ctxt->md5_hashctx)
return ctxt->md5_hashctx;
if(!ctxt->md5_hashctx) {
free(ctxt);
return NULL;
}
ctxt->md5_hash = md5params;
(*md5params->md5_init)(ctxt->md5_hashctx);
md5params->md5_init(ctxt->md5_hashctx);
return ctxt;
}