Mike Small <sma...@panix.com> writes: > Was looking at > http://ftp.openbsd.org/pub/OpenBSD/patches/5.5/common/003_ftp.patch.sig > this last chunk... > > + if (ssl_verify) { > + X509 *cert; > + > + cert = SSL_get_peer_certificate(ssl); > + if (cert == NULL) { > + fprintf(ttyout, "%s: no server > certificate\n", > + > getprogname()); > + > goto cleanup_url_get; > + > } > + > + if (ssl_check_hostname(cert, host) != 0) { > + fprintf(ttyout, > "%s: host `%s' not present in" > + > " server certificate\n", > + > getprogname(), host); > + > goto cleanup_url_get; > + > } > + > + X509_free(cert); > } > > > If that second check fails and you goto cleanup_url_get you skip > X509_free(cert). Wouldn't that screw up the reference count?
Good catch. > Or does > that not matter after SSL_Shutdown and SSL_Free are called? It does not matter because if the second check fails, we're going to exit the process anyway, so a memory leak does not have an impact; I'm more concerned by the ssl_ctx allocation, for which I already have a diff. Thanks, -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE