]> granicus.if.org Git - php/commitdiff
- MFB: Fixed a memory leak inside load_all_certs_file()
authorPierre Joye <pajoye@php.net>
Wed, 20 Jun 2007 05:27:38 +0000 (05:27 +0000)
committerPierre Joye <pajoye@php.net>
Wed, 20 Jun 2007 05:27:38 +0000 (05:27 +0000)
ext/openssl/openssl.c

index 61e7e0174e3f4d602b9141952d21cb17d7e56a85..eb32247ceb5883222ba5d9965899508e231124e8 100644 (file)
@@ -1095,17 +1095,20 @@ static STACK_OF(X509) * load_all_certs_from_file(char *certfile)
        }
 
        if (php_check_open_basedir(certfile TSRMLS_CC)) {
+               sk_X509_free(stack);
                goto end;
        }
 
        if(!(in=BIO_new_file(certfile, "r"))) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "error opening the file, %s", certfile);
+               sk_X509_free(stack);
                goto end;
        }
 
        /* This loads from a file, a stack of x509/crl/pkey sets */
        if(!(sk=PEM_X509_INFO_read_bio(in, NULL, NULL, NULL))) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "error reading the file, %s", certfile);
+               sk_X509_free(stack);
                goto end;
        }