iliaa           Wed Oct 30 13:12:34 2002 EDT

  Modified files:              
    /php4/ext/ldap      ldap.c 
  Log:
  Fixed a memory leak on ldap_connect() failure.
  
  
Index: php4/ext/ldap/ldap.c
diff -u php4/ext/ldap/ldap.c:1.128 php4/ext/ldap/ldap.c:1.129
--- php4/ext/ldap/ldap.c:1.128  Thu Sep  5 07:22:20 2002
+++ php4/ext/ldap/ldap.c        Wed Oct 30 13:12:34 2002
@@ -22,7 +22,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: ldap.c,v 1.128 2002/09/05 11:22:20 hyanantha Exp $ */
+/* $Id: ldap.c,v 1.129 2002/10/30 18:12:34 iliaa Exp $ */
 #define IS_EXT_MODULE
 
 #ifdef HAVE_CONFIG_H
@@ -284,7 +284,7 @@
 
        php_info_print_table_start();
        php_info_print_table_row(2, "LDAP Support", "enabled" );
-       php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.128 2002/09/05 
11:22:20 hyanantha Exp $" );
+       php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.129 2002/10/30 
+18:12:34 iliaa Exp $" );
 
        if (LDAPG(max_links) == -1) {
                snprintf(tmp, 31, "%ld/unlimited", LDAPG(num_links));
@@ -387,6 +387,7 @@
                
                rc = ldap_initialize(&ldap, host);
                if (rc != LDAP_SUCCESS) {
+                       efree(ld);
                        php_error(E_WARNING, "%s(): Could not create session handle: 
%s", get_active_function_name(TSRMLS_C), ldap_err2string(rc));
                        RETURN_FALSE;
                }
@@ -398,11 +399,13 @@
 #endif
        
        if ( ldap == NULL ) {
+               efree(ld);
                RETURN_FALSE;
        } else {
 #ifdef HAVE_ORALDAP
                if (ssl) {
                        if (ldap_init_SSL(&ldap->ld_sb, wallet, walletpasswd, 
authmode)) {
+                               efree(ld);
                                php_error(E_WARNING, "%s(): SSL init failed", 
get_active_function_name(TSRMLS_C));
                                RETURN_FALSE;
                        }



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to