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

Reply via email to