>Number:         886
>Category:       general
>Synopsis:       Code in http_core.c does not allow more than one tag directive 
>on a line
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache (Apache HTTP Project)
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sat Jul 19 12:30:02 1997
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.2.1
>Environment:
FreeBSD intend.pc.cc.cmu.edu 2.2-BETA_A FreeBSD 2.2-BETA_A #0: Mon Feb  3 
00:50:32 EST 1997     [EMAIL PROTECTED]:/usr/src/sys/compile/INTEND  i386
>Description:
in http_core.c, the interpretation of tag directives seems to be flawed.  If 
you put more than one tag on a line
(for example, <IfModule x.c>blah blah</IfModule>), it will try to compare 
against module "x.c>blah blah</IfModule" --
and generally bad stuff happens.

The first thing I tried changing is to use strchr() instead of strrchr(), which 
then correctly sets the module
to "x.c", but this doesn't fix the behavior; 'blah blah' is not executed.  I 
think this is due to what the function
does with stuff between the tags, which I haven't absorbed enough to understand 
how to fix it.

The temporary fix is to just not put more than one tag on a line.  Of course, 
this bug report assumes
that it is desirable to be able to place more than one tag on a line.
>How-To-Repeat:
Should be self-evident -- just try using more than one on a line, and look at 
what the function does
>Fix:
Well, a start to fixing it is in the full description, which is to change 
strrchr to strchr.  However, it still needs
to be changed to interpret the rest of the line (i.e. the stuff in between the 
tags) correctly.
%0
>Audit-Trail:
>Unformatted:


Reply via email to