[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/ldap/ldap.c trunk/ext/ldap/ldap.c

2009-11-18 Thread Ilia Alshanetsky
iliaaWed, 18 Nov 2009 13:37:45 +

Revision: http://svn.php.net/viewvc?view=revision&revision=290913

Log:
Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).

Bug: http://bugs.php.net/50212 (Open) SEGV by ldap_get_option() with 
LDAP_OPT_NETWORK_TIMEOUT
  
Changed paths:
U   php/php-src/branches/PHP_5_3/NEWS
U   php/php-src/branches/PHP_5_3/ext/ldap/ldap.c
U   php/php-src/trunk/ext/ldap/ldap.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS   2009-11-18 13:24:41 UTC (rev 290912)
+++ php/php-src/branches/PHP_5_3/NEWS   2009-11-18 13:37:45 UTC (rev 290913)
@@ -21,6 +21,8 @@
 - Fixed memory leak in extension loading when an error occurs on Windows.
   (Pierre)

+- Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
+  (Ilia, shigeru_kitazaki at cybozu dot co dot jp)
 - Fixed bug #50140 (With default compilation option, php symbols are
   unresolved for nsapi). (Uwe Schindler)
 - Fixed bug #50174 (Incorrectly matched docComment). (Felipe)

Modified: php/php-src/branches/PHP_5_3/ext/ldap/ldap.c
===
--- php/php-src/branches/PHP_5_3/ext/ldap/ldap.c2009-11-18 13:24:41 UTC 
(rev 290912)
+++ php/php-src/branches/PHP_5_3/ext/ldap/ldap.c2009-11-18 13:37:45 UTC 
(rev 290913)
@@ -1583,14 +1583,17 @@
 #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);

Modified: php/php-src/trunk/ext/ldap/ldap.c
===
--- php/php-src/trunk/ext/ldap/ldap.c   2009-11-18 13:24:41 UTC (rev 290912)
+++ php/php-src/trunk/ext/ldap/ldap.c   2009-11-18 13:37:45 UTC (rev 290913)
@@ -1619,14 +1619,17 @@
 #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);

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

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/ldap/ldap.c trunk/ext/ldap/ldap.c

2009-08-30 Thread Ilia Alshanetsky
iliaaSun, 30 Aug 2009 15:33:59 +

Revision: http://svn.php.net/viewvc?view=revision&revision=287897

Log:
Bug #49391  ldap.c utilizing deprecated ldap_modify_s

Bug: http://bugs.php.net/49391 (Open) ldap.c utilizing deprecated ldap_modify_s
  
Changed paths:
U   php/php-src/branches/PHP_5_3/NEWS
U   php/php-src/branches/PHP_5_3/ext/ldap/ldap.c
U   php/php-src/trunk/ext/ldap/ldap.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS   2009-08-30 12:19:50 UTC (rev 287896)
+++ php/php-src/branches/PHP_5_3/NEWS   2009-08-30 15:33:59 UTC (rev 287897)
@@ -27,6 +27,7 @@
 - Fixed memory leak in stream_is_local(). (Felipe, Tony)
 - Fixed BC break in mime_content_type(), removes the content encoding. (Scott)

+- Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia)
 - Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
 - Fixed bug #49306 (inside pdo_mysql default socket settings are ignored).
   (Ilia)

Modified: php/php-src/branches/PHP_5_3/ext/ldap/ldap.c
===
--- php/php-src/branches/PHP_5_3/ext/ldap/ldap.c2009-08-30 12:19:50 UTC 
(rev 287896)
+++ php/php-src/branches/PHP_5_3/ext/ldap/ldap.c2009-08-30 15:33:59 UTC 
(rev 287897)
@@ -1350,7 +1350,7 @@
RETVAL_FALSE;
} else RETVAL_TRUE;
} else {
-   if ((i = ldap_modify_s(ld->link, dn, ldap_mods)) != 
LDAP_SUCCESS) {
+   if ((i = ldap_modify_ext_s(ld->link, dn, ldap_mods, NULL, 
NULL)) != LDAP_SUCCESS) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Modify: 
%s", ldap_err2string(i));
RETVAL_FALSE;
} else RETVAL_TRUE;

Modified: php/php-src/trunk/ext/ldap/ldap.c
===
--- php/php-src/trunk/ext/ldap/ldap.c   2009-08-30 12:19:50 UTC (rev 287896)
+++ php/php-src/trunk/ext/ldap/ldap.c   2009-08-30 15:33:59 UTC (rev 287897)
@@ -1380,7 +1380,7 @@
RETVAL_FALSE;
} else RETVAL_TRUE;
} else {
-   if ((i = ldap_modify_s(ld->link, dn, ldap_mods)) != 
LDAP_SUCCESS) {
+   if ((i = ldap_modify_ext_s(ld->link, dn, ldap_mods, NULL, 
NULL)) != LDAP_SUCCESS) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Modify: 
%s", ldap_err2string(i));
RETVAL_FALSE;
} else RETVAL_TRUE;

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