]> granicus.if.org Git - php/commitdiff
Fixed memory corruption
authorDmitry Stogov <dmitry@php.net>
Wed, 21 Sep 2005 15:55:07 +0000 (15:55 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 21 Sep 2005 15:55:07 +0000 (15:55 +0000)
ext/standard/http_fopen_wrapper.c

index ac87a2b8a4aa548c563374cd9610f8cde990382d..0b79c1606fe2aca827cc521128463925e02f197c 100644 (file)
@@ -260,11 +260,12 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
        if (!request_fulluri &&
                context &&
                php_stream_context_get_option(context, "http", "request_fulluri", &tmpzval) == SUCCESS) {
-               (*tmpzval)->refcount++;
-               SEPARATE_ZVAL(tmpzval);
-               convert_to_boolean_ex(tmpzval);
-               request_fulluri = Z_BVAL_PP(tmpzval) ? 1 : 0;
-               zval_ptr_dtor(tmpzval);
+               zval tmp = **tmpzval;
+
+               zval_copy_ctor(&tmp);
+               convert_to_boolean(&tmp);
+               request_fulluri = Z_BVAL(tmp) ? 1 : 0;
+               zval_dtor(&tmp);
        }
 
        if (request_fulluri) {