|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-03-26 13:10 UTC] 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. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 02:00:01 2025 UTC |
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.