tony2001 Fri Sep 15 15:04:03 2006 UTC
Modified files:
/php-src/ext/curl multi.c
Log:
fix segfault in curl_multi_info_read()
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/multi.c?r1=1.25&r2=1.26&diff_format=u
Index: php-src/ext/curl/multi.c
diff -u php-src/ext/curl/multi.c:1.25 php-src/ext/curl/multi.c:1.26
--- php-src/ext/curl/multi.c:1.25 Mon Sep 4 16:31:38 2006
+++ php-src/ext/curl/multi.c Fri Sep 15 15:04:03 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: multi.c,v 1.25 2006/09/04 16:31:38 iliaa Exp $ */
+/* $Id: multi.c,v 1.26 2006/09/15 15:04:03 tony2001 Exp $ */
#define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
@@ -62,7 +62,7 @@
mh = ecalloc(1, sizeof(php_curlm));
mh->multi = curl_multi_init();
- zend_llist_init(&mh->easyh, sizeof(zval *), (llist_dtor_func_t) NULL,
0);
+ zend_llist_init(&mh->easyh, sizeof(zval), (llist_dtor_func_t) NULL, 0);
ZEND_REGISTER_RESOURCE(return_value, mh, le_curl_multi_handle);
}
@@ -250,12 +250,12 @@
{
zend_llist_position pos;
php_curl *ch;
- zval **pz_ch;
+ zval *pz_ch;
/* search the list of easy handles hanging off the multi-handle
*/
- for(pz_ch = (zval **)zend_llist_get_first_ex(&mh->easyh, &pos);
pz_ch;
- pz_ch = (zval **)zend_llist_get_next_ex(&mh->easyh,
&pos)) {
- ZEND_FETCH_RESOURCE(ch, php_curl *, pz_ch, -1,
le_curl_name, le_curl);
+ for(pz_ch = (zval *)zend_llist_get_first_ex(&mh->easyh, &pos);
pz_ch;
+ pz_ch = (zval *)zend_llist_get_next_ex(&mh->easyh,
&pos)) {
+ ZEND_FETCH_RESOURCE(ch, php_curl *, &pz_ch, -1,
le_curl_name, le_curl);
if (ch->cp == tmp_msg->easy_handle) {
/* we are adding a reference to the underlying
php_curl
@@ -266,12 +266,12 @@
SEPARATE_ZVAL, but those create new zvals,
which is already
being done in add_assoc_resource */
- zend_list_addref( Z_RESVAL_PP( pz_ch ) );
+ zend_list_addref( Z_RESVAL_P( pz_ch ) );
/* add_assoc_resource automatically creates a
new zval to
wrap the "resource" represented by the
current pz_ch */
- add_assoc_resource(return_value, "handle",
Z_RESVAL_PP(pz_ch));
+ add_assoc_resource(return_value, "handle",
Z_RESVAL_P(pz_ch));
break;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php