Hiya --

So it is indeed the case that stat was leaving r->finfo in an invalid
state; when I described this & suggested a patch, one of the people in the
Apache Group decided it wasn't a good idea to trust the value in r->finfo
after a failed stat call, and applied the following (related) patch: 

-----
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/http_request.c,v
  retrieving revision 1.147
  retrieving revision 1.148
  diff -u -r1.147 -r1.148
  --- http_request.c    1999/04/20 23:38:44     1.147
  +++ http_request.c    1999/05/12 16:50:42     1.148
  @@ -265,8 +265,12 @@
               *cp = '\0';
               return OK;
           }
  +     /* must set this to zero, some stat()s may have corrupted it
  +      * even if they returned an error.
  +      */
  +     r->finfo.st_mode = 0;
   #if defined(ENOENT) && defined(ENOTDIR)
  -        else if (errno == ENOENT || errno == ENOTDIR) {
  +        if (errno == ENOENT || errno == ENOTDIR) {
               last_cp = cp;
   
               while (--cp > path && *cp != '/')
-----

This will be in the next version of Apache; please apply it rather than
the previously posted patch, and if you encounter any problems, drop me a
note.

thanks for the bug report!

Ed

On Tue, 11 May 1999, Frank Flannery wrote:

> It's definitely nothing in the configuration.  Here
> are the relevant lines:
> 
> <IfModule mod_rewrite.c>
>   RewriteEngine on
> </IfModule>
> 
> I haven't had time to try the workaround.  Hopefully
> in the next few days.
> 



----------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
READ THE FAQ!!!!     <http://java.apache.org/faq/>
Archives and Other:  <http://java.apache.org/main/mail.html/>
Problems?:           [EMAIL PROTECTED]

Reply via email to