Hello,
Our UC-KLEE tool found a memory leak in ssl_cert_dup (ssl/ssl_cert.c). The bug
affects commit 43257b9f51de749262258668c77c2f0f99d7a15b from the 1.0.2 branch,
but it appears to date back many years.
On line 222 of ssl/ssl_cert.c, ssl_cert_dup() allocates a new CERT:
ret = (CERT *)OPENSSL_malloc(sizeof(CERT));
If any of the subsequent allocations or _dup()’s fail, we jump to ‘err’, which
frees many of the fields within ‘ret’, but forgets to free ‘ret’ itself
(leaking 728 bytes on my x86_64 Linux build). I believe there needs to be a
call to:
OPENSSL_free(ret);
before the 'return NULL' at line 440.
Please let me know if you have any questions.
Thanks,
-David
_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev