]> granicus.if.org Git - php/commitdiff
Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
authorIlia Alshanetsky <iliaa@php.net>
Wed, 18 Nov 2009 13:37:45 +0000 (13:37 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 18 Nov 2009 13:37:45 +0000 (13:37 +0000)
ext/ldap/ldap.c

index 00725dbc18b41bae7e4fb7c4d32cf4fa8e87ec1c..c1bfa87b063c442b53bcb4e85f728286aa9f2bd0 100644 (file)
@@ -1619,14 +1619,17 @@ PHP_FUNCTION(ldap_get_option)
 #ifdef LDAP_OPT_NETWORK_TIMEOUT
        case LDAP_OPT_NETWORK_TIMEOUT:
                {
-                       struct timeval *timeout;
+                       struct timeval *timeout = NULL;
 
                        if (ldap_get_option(ld->link, LDAP_OPT_NETWORK_TIMEOUT, (void *) &timeout)) {
                                if (timeout) {
                                        ldap_memfree(timeout);
                                }
                                RETURN_FALSE;
-                       }                      
+                       }                   
+                       if (!timeout) {
+                               RETURN_FALSE;
+                       }
                        zval_dtor(retval);
                        ZVAL_LONG(retval, timeout->tv_sec);
                        ldap_memfree(timeout);