#27722 [Asn]: Better pointer check to avoid crashes

From: Date: Tue, 30 Mar 2004 08:27:16 +0000
Subject: #27722 [Asn]: Better pointer check to avoid crashes
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-57083@lists.php.net to get a copy of this message
ID: 27722 User updated by: fjortiz at comunet dot es Reported By: fjortiz at comunet dot es Status: Assigned Bug Type: SOAP related Operating System: * PHP Version: 5.0.0RC1 Assigned To: dmitry New Comment: well, we could add in php_schema.c Line 190 if (tns==NULL) { php_error(E_ERROR, "SOAP-ERROR: Parsing Schema: need a 'targetNamespace' attribute"); } and that's all, but it's also true that targetNamespace is not mandatory at schema element AFAIK. Even more, we check for a targetNamespace attr. in a complexType element (line 1368) and others, when it does not validate properly. So I leave here this patch 189a190,191 > if (tns==NULL) { > php_error(E_ERROR, "SOAP-ERROR: Parsing Schema: need a 'targetNamespace' a > } to avoid crash, as PHP-SOAP needs it, but you may want to consider something different and create some kind of "default" or "absent" targetNamespace. Previous Comments: ------------------------------------------------------------------------ [2004-03-26 13:25:31] amt@php.net We're always happy to take patches. ------------------------------------------------------------------------ [2004-03-26 13:10:59] fjortiz at comunet dot es Description: ------------ Hi, In my WSDL I defined a schema and forgot the attibute "targetNamespace". I know that's something you shoudn't forget, but, instead making Apache crash, wouldn't it be more robust to check for NULL pointers and send a gentle error? Fortunately I have a debug PHP5RC1 installed so I located the crash: php_schema.c line 1410 newType->namens = estrdup(ns->children->content); Sure it crashes, ns==NULL ... I guess it's the same problem for other retrieved elements/attributes. PHP-SOAP should be capable of trapping any unvalidated XML. If you are short of time I even offer myself to do some of that nasty pointer-check around. Thanks for your attention and your great efforts. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27722&edit=1

« previous php.bugs (#57083) next »