]> granicus.if.org Git - php/commitdiff
MFH: (r-1.104)
authorSara Golemon <pollita@php.net>
Tue, 6 Dec 2005 19:25:12 +0000 (19:25 +0000)
committerSara Golemon <pollita@php.net>
Tue, 6 Dec 2005 19:25:12 +0000 (19:25 +0000)
ext/standard/http_fopen_wrapper.c

index 67d45cf554d776f4a233fab72b78c6abab4a73a1..5339f58288302c92e43b95649c6c7f856da98ef1 100644 (file)
@@ -199,7 +199,8 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
        /* send it */
        php_stream_write(stream, scratch, strlen(scratch));
        
-       if (context && php_stream_context_get_option(context, "http", "header", &tmpzval) == SUCCESS && Z_STRLEN_PP(tmpzval)) {
+       if (context && php_stream_context_get_option(context, "http", "header", &tmpzval) == SUCCESS && 
+               Z_TYPE_PP(tmpzval) == IS_STRING && Z_STRLEN_PP(tmpzval)) {
                /* Remove newlines and spaces from start and end, php_trim will estrndup() */
                tmp = php_trim(Z_STRVAL_PP(tmpzval), Z_STRLEN_PP(tmpzval), NULL, 0, NULL, 3 TSRMLS_CC);
                if (strlen(tmp) > 0) {
@@ -268,7 +269,8 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
        }
 
        if (context && 
-           php_stream_context_get_option(context, "http", "user_agent", &ua_zval) == SUCCESS) {
+           php_stream_context_get_option(context, "http", "user_agent", &ua_zval) == SUCCESS &&
+               Z_TYPE_PP(ua_zval) == IS_STRING) {
                ua_str = Z_STRVAL_PP(ua_zval);
        } else if (FG(user_agent)) {
                ua_str = FG(user_agent);
@@ -300,7 +302,8 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
        php_stream_write(stream, "\r\n", sizeof("\r\n")-1);
 
        /* Request content, such as for POST requests */
-       if (context && php_stream_context_get_option(context, "http", "content", &tmpzval) == SUCCESS && Z_STRLEN_PP(tmpzval) > 0) {
+       if (context && php_stream_context_get_option(context, "http", "content", &tmpzval) == SUCCESS &&
+               Z_TYPE_PP(tmpzval) == IS_STRING && Z_STRLEN_PP(tmpzval) > 0) {
                php_stream_write(stream, Z_STRVAL_PP(tmpzval), Z_STRLEN_PP(tmpzval));
                php_stream_write(stream, "\r\n\r\n", sizeof("\r\n\r\n")-1);
        }