You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Joe Orton <jo...@manyfish.co.uk> on 2004/05/21 10:51:46 UTC
Re: cvs commit: apr-util/xml apr_xml.c
On Fri, May 21, 2004 at 07:13:44AM -0000, jfclere@apache.org wrote:
> jfclere 2004/05/21 00:13:44
>
> Modified: xml apr_xml.c
> Log:
> Print "No parser." in errbuf when parser is NULL.
Why? Passing a NULL parser argument to apr_xml_parser_geterror sounds
like a good time to SIGSEGV. Have you read the code style guide?
> --- apr_xml.c 13 Feb 2004 09:55:27 -0000 1.28
> +++ apr_xml.c 21 May 2004 07:13:44 -0000 1.29
> @@ -414,15 +414,21 @@
> char *errbuf,
> apr_size_t errbufsize)
> {
> - int error = parser->error;
> + int error = 0;
> const char *msg;
>
> /* clear our record of an error */
> - parser->error = 0;
> + if (parser != NULL) {
> + error = parser->error;
> + parser->error = 0;
> + }
>
> switch (error) {
> case 0:
> - msg = "No error.";
> + if (parser != NULL)
> + msg = "No error.";
> + else
> + msg = "No parser.";
> break;
>
> case APR_XML_NS_ERROR_UNKNOWN_PREFIX:
>
>
>
Re: cvs commit: apr-util/xml apr_xml.c
Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
Joe Orton wrote:
> On Fri, May 21, 2004 at 02:48:21PM +0200, jean-frederic clere wrote:
>
>>Joe Orton wrote:
>>
>>>On Fri, May 21, 2004 at 07:13:44AM -0000, jfclere@apache.org wrote:
>>>
>>>
>>>>jfclere 2004/05/21 00:13:44
>>>>
>>>>Modified: xml apr_xml.c
>>>>Log:
>>>>Print "No parser." in errbuf when parser is NULL.
>>>
>>>
>>>Why? Passing a NULL parser argument to apr_xml_parser_geterror sounds
>>>like a good time to SIGSEGV.
>>
>>Before commiting it I have looked in apache-2.0/server/util_xml.c: there
>>is a apr_xml_parser_geterror()...
>
>
> It's not valid (as far as I can see, needn't be valid) to pass a NULL
> parser argument to apr_xml_parser_geterror(). What bug are you seeing
> which prompted this change?
Sorry... If apr_xml_parser_create() returns NULL.
The bug only occurs in apr-util/test/testxml I will rollback the correction (in
xml/apr_xml.c) and fix test/testxml.c.
That is the xml file that cores testxml:
+++
<?xml version='1.0' encoding='utf-8'
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
+++
>
> joe
>
>
Re: cvs commit: apr-util/xml apr_xml.c
Posted by Joe Orton <jo...@manyfish.co.uk>.
On Fri, May 21, 2004 at 02:48:21PM +0200, jean-frederic clere wrote:
> Joe Orton wrote:
> >On Fri, May 21, 2004 at 07:13:44AM -0000, jfclere@apache.org wrote:
> >
> >>jfclere 2004/05/21 00:13:44
> >>
> >> Modified: xml apr_xml.c
> >> Log:
> >> Print "No parser." in errbuf when parser is NULL.
> >
> >
> >Why? Passing a NULL parser argument to apr_xml_parser_geterror sounds
> >like a good time to SIGSEGV.
>
> Before commiting it I have looked in apache-2.0/server/util_xml.c: there
> is a apr_xml_parser_geterror()...
It's not valid (as far as I can see, needn't be valid) to pass a NULL
parser argument to apr_xml_parser_geterror(). What bug are you seeing
which prompted this change?
joe