aboutsummaryrefslogtreecommitdiffstats
path: root/socket.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2009-08-17 17:16:35 +0000
committerMatthias Andree <matthias.andree@gmx.de>2009-08-17 17:16:35 +0000
commitd7db335df7367b96b094e8b886c161f4de11f525 (patch)
treee73b83133e55d71befc282adf0827090acdc4f0e /socket.c
parent7ba08582a30fab03ccf6ac78232d6bbd1be55cd0 (diff)
downloadfetchmail-d7db335df7367b96b094e8b886c161f4de11f525.tar.gz
fetchmail-d7db335df7367b96b094e8b886c161f4de11f525.tar.bz2
fetchmail-d7db335df7367b96b094e8b886c161f4de11f525.zip
Fix free() of unallocated memory on intact/non-verbose SSL-connections.
Problem was improper scoping of xfree(tt). Patch courtesy of Thomas Heinz. Fixes Gentoo bug #280760. svn path=/branches/BRANCH_6-3/; revision=5415
Diffstat (limited to 'socket.c')
-rw-r--r--socket.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/socket.c b/socket.c
index 21924260..c245b3d4 100644
--- a/socket.c
+++ b/socket.c
@@ -628,9 +628,10 @@ static int SSL_verify_callback( int ok_return, X509_STORE_CTX *ctx, int strict )
report(stdout, GT_("Unknown Issuer CommonName\n"));
}
if ((i = X509_NAME_get_text_by_NID(subj, NID_commonName, buf, sizeof(buf))) != -1) {
- if (outlevel >= O_VERBOSE)
+ if (outlevel >= O_VERBOSE) {
report(stdout, GT_("Server CommonName: %s\n"), (tt = sdump(buf, i)));
- xfree(tt);
+ xfree(tt);
+ }
if ((size_t)i >= sizeof(buf) - 1) {
/* Possible truncation. In this case, this is a DNS name, so this
* is really bad. We do not tolerate this even in the non-strict case. */