dmitry          Fri Dec  9 10:29:29 2005 EDT

  Modified files:              (Branch: PHP_5_0)
    /php-src/ext/soap   php_encoding.c php_schema.c php_sdl.c soap.c 
  Log:
  Fixed possible SIGSEGV (Rob Richards)
  
  
http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.71.2.30&r2=1.71.2.31&ty=u
Index: php-src/ext/soap/php_encoding.c
diff -u php-src/ext/soap/php_encoding.c:1.71.2.30 
php-src/ext/soap/php_encoding.c:1.71.2.31
--- php-src/ext/soap/php_encoding.c:1.71.2.30   Tue Nov  1 06:11:58 2005
+++ php-src/ext/soap/php_encoding.c     Fri Dec  9 10:29:27 2005
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_encoding.c,v 1.71.2.30 2005/11/01 11:11:58 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.71.2.31 2005/12/09 15:29:27 dmitry Exp $ */
 
 #include <time.h>
 
@@ -265,7 +265,7 @@
                                if (zend_hash_find(ht, "enc_ns", 
sizeof("enc_ns"), (void **)&zns) == SUCCESS) {
                                  enc = get_encoder(SOAP_GLOBAL(sdl), 
Z_STRVAL_PP(zns), Z_STRVAL_PP(zstype));
                                } else {
-                                 enc = get_encoder(SOAP_GLOBAL(sdl), NULL, 
Z_STRVAL_PP(zstype));
+                                 enc = get_encoder_ex(SOAP_GLOBAL(sdl), 
Z_STRVAL_PP(zstype), Z_STRLEN_PP(zstype));
                                }
                        }
                }
http://cvs.php.net/diff.php/php-src/ext/soap/php_schema.c?r1=1.49.2.7&r2=1.49.2.8&ty=u
Index: php-src/ext/soap/php_schema.c
diff -u php-src/ext/soap/php_schema.c:1.49.2.7 
php-src/ext/soap/php_schema.c:1.49.2.8
--- php-src/ext/soap/php_schema.c:1.49.2.7      Wed Sep 28 07:25:38 2005
+++ php-src/ext/soap/php_schema.c       Fri Dec  9 10:29:28 2005
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_schema.c,v 1.49.2.7 2005/09/28 11:25:38 dmitry Exp $ */
+/* $Id: php_schema.c,v 1.49.2.8 2005/12/09 15:29:28 dmitry Exp $ */
 
 #include "php_soap.h"
 #include "libxml/uri.h"
@@ -232,7 +232,11 @@
                        location = get_attribute(trav->properties, 
"schemaLocation");
 
                        if (ns != NULL && tns != NULL && 
strcmp(ns->children->content,tns->children->content) == 0) {
-                               soap_error1(E_ERROR, "Parsing Schema: can't 
import schema from '%s', namespace must not match the enclosing schema 
'targetNamespace'", location->children->content);
+                               if (location) {
+                                       soap_error1(E_ERROR, "Parsing Schema: 
can't import schema from '%s', namespace must not match the enclosing schema 
'targetNamespace'", location->children->content);
+                               } else {
+                                       soap_error0(E_ERROR, "Parsing Schema: 
can't import schema. Namespace must not match the enclosing schema 
'targetNamespace'");
+                               }
                        }
                        if (location) {
                                xmlChar *base = xmlNodeGetBase(trav->doc, trav);
http://cvs.php.net/diff.php/php-src/ext/soap/php_sdl.c?r1=1.70.2.15&r2=1.70.2.16&ty=u
Index: php-src/ext/soap/php_sdl.c
diff -u php-src/ext/soap/php_sdl.c:1.70.2.15 
php-src/ext/soap/php_sdl.c:1.70.2.16
--- php-src/ext/soap/php_sdl.c:1.70.2.15        Mon Nov 28 05:07:56 2005
+++ php-src/ext/soap/php_sdl.c  Fri Dec  9 10:29:28 2005
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_sdl.c,v 1.70.2.15 2005/11/28 10:07:56 dmitry Exp $ */
+/* $Id: php_sdl.c,v 1.70.2.16 2005/12/09 15:29:28 dmitry Exp $ */
 
 #include "php_soap.h"
 #include "ext/libxml/php_libxml.h"
@@ -410,10 +410,10 @@
                                if (!h->ns && h->element->namens) {
                                        h->ns = estrdup(h->element->namens);
                                }
-                       }
-                       if (h->element->name) {
-                               efree(h->name);
-                               h->name = estrdup(h->element->name);
+                               if (h->element->name) {
+                                       efree(h->name);
+                                       h->name = estrdup(h->element->name);
+                               }
                        }
                }
        }
http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.110.2.46&r2=1.110.2.47&ty=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.110.2.46 php-src/ext/soap/soap.c:1.110.2.47
--- php-src/ext/soap/soap.c:1.110.2.46  Wed Oct  5 03:02:10 2005
+++ php-src/ext/soap/soap.c     Fri Dec  9 10:29:28 2005
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: soap.c,v 1.110.2.46 2005/10/05 07:02:10 dmitry Exp $ */
+/* $Id: soap.c,v 1.110.2.47 2005/12/09 15:29:28 dmitry Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1797,8 +1797,8 @@
 /* }}} */
 
 
-/* {{{ proto SoapServer::fault
-   SoapServer::fault */
+/* {{{ proto SoapServer::fault ( staring code, string string [, string actor 
[, mixed details [, string name]]] )
+   Issue SoapFault indicating an error */
 PHP_METHOD(SoapServer, fault)
 {
        char *code, *string, *actor=NULL, *name=NULL;

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

Reply via email to