dmitry          Mon Feb 16 04:56:31 2004 EDT

  Modified files:              
    /php-src/ext/soap   php_encoding.c php_http.c 
  Log:
  fix: prevent of possible crash
  
  
http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.56&r2=1.57&ty=u
Index: php-src/ext/soap/php_encoding.c
diff -u php-src/ext/soap/php_encoding.c:1.56 php-src/ext/soap/php_encoding.c:1.57
--- php-src/ext/soap/php_encoding.c:1.56        Fri Feb 13 10:19:09 2004
+++ php-src/ext/soap/php_encoding.c     Mon Feb 16 04:56:29 2004
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_encoding.c,v 1.56 2004/02/13 15:19:09 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.57 2004/02/16 09:56:29 dmitry Exp $ */
 
 #include <time.h>
 
@@ -1148,13 +1148,17 @@
                                xmlNodePtr property;
                                zval **zprop;
                                char *str_key;
+                               ulong index;
+                               int key_type;
 
-                               zend_hash_get_current_key(prop, &str_key, NULL, FALSE);
+                               key_type = zend_hash_get_current_key(prop, &str_key, 
&index, FALSE);
                                zend_hash_get_current_data(prop, (void **)&zprop);
 
                                property = 
master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam);
 
-                               xmlNodeSetName(property, str_key);
+                               if (key_type == HASH_KEY_IS_STRING) {
+                                       xmlNodeSetName(property, str_key);
+                               }
                                zend_hash_move_forward(prop);
                        }
                }
http://cvs.php.net/diff.php/php-src/ext/soap/php_http.c?r1=1.41&r2=1.42&ty=u
Index: php-src/ext/soap/php_http.c
diff -u php-src/ext/soap/php_http.c:1.41 php-src/ext/soap/php_http.c:1.42
--- php-src/ext/soap/php_http.c:1.41    Tue Feb  3 11:44:56 2004
+++ php-src/ext/soap/php_http.c Mon Feb 16 04:56:30 2004
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_http.c,v 1.41 2004/02/03 16:44:56 dmitry Exp $ */
+/* $Id: php_http.c,v 1.42 2004/02/16 09:56:30 dmitry Exp $ */
 
 #include "php_soap.h"
 #include "ext/standard/base64.h"
@@ -224,9 +224,9 @@
        }
 
        use_ssl = 0;
-       if (strcmp(phpurl->scheme, "https") == 0) {
+       if (phpurl->scheme != NULL && strcmp(phpurl->scheme, "https") == 0) {
                use_ssl = 1;
-       } else if (strcmp(phpurl->scheme, "http") != 0) {
+       } else if (phpurl->scheme == NULL || strcmp(phpurl->scheme, "http") != 0) {
                xmlFree(buf);
                php_url_free(phpurl);
                add_soap_fault(this_ptr, "HTTP", "Unknown protocol. Only http and 
https are allowed.", NULL, NULL TSRMLS_CC);

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

Reply via email to