dgaudet     97/12/22 17:50:03

  Modified:    .        STATUS
               src      CHANGES
               src/modules/standard mod_autoindex.c
  Log:
  "AddIconByType (TXT,/icons/text.gif text/*", note the missing closing
  paren, does the wrong thing, and doesn't report an error.
  
  Don't fread() without testing for errors.
  
  Reviewed by:  Jim Jagielski, Martin Kraemer
  
  Revision  Changes    Path
  1.16      +1 -4      apachen/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /export/home/cvs/apachen/STATUS,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- STATUS    1997/12/22 21:52:59     1.15
  +++ STATUS    1997/12/23 01:49:58     1.16
  @@ -48,6 +48,7 @@
       * Dean's [PATCH] Re: problem with a .gif and v2.1.4
       * Dean's [PATCH] util_date.c needless reinitialization
       * Martin's [PATCH] Gimme a break! (missing break;s in mod_include)
  +    * Dean's [PATCH] two bugs in mod_autoindex
   
   Available:
   
  @@ -58,10 +59,6 @@
       * Dean's [PATCH] Re: [BUGFIXES] Wrong GID for PID file and UMASK for logs
        <[EMAIL PROTECTED]>
        Status: Dean +1, Martin +1
  -
  -    * Dean's [PATCH] two bugs in mod_autoindex
  -     <[EMAIL PROTECTED]>
  -     Status: Dean +1, Randy +1, Martin +1
   
       * Dean's [PATCH] fix Rasmus' chunking error
        <[EMAIL PROTECTED]>
  
  
  
  1.536     +4 -0      apachen/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.535
  retrieving revision 1.536
  diff -u -r1.535 -r1.536
  --- CHANGES   1997/12/21 08:18:14     1.535
  +++ CHANGES   1997/12/23 01:50:00     1.536
  @@ -1,4 +1,8 @@
   Changes with Apache 1.3b4
  +  
  +  *) mod_autoindex had an fread() without checking the result code.
  +     It also wouldn't handle "AddIconByType (TXT,/icons/text.gif text/*"
  +     (note the missing closing paren) properly.  [Dean Gaudet]
   
     *) It appears the "257th byte" bug (see
        htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
  
  
  
  1.60      +12 -2     apachen/src/modules/standard/mod_autoindex.c
  
  Index: mod_autoindex.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/modules/standard/mod_autoindex.c,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- mod_autoindex.c   1997/12/18 19:55:17     1.59
  +++ mod_autoindex.c   1997/12/23 01:50:02     1.60
  @@ -186,8 +186,14 @@
       char *iconbak = pstrdup(cmd->pool, icon);
   
       if (icon[0] == '(') {
  -     char *alt = getword_nc(cmd->pool, &iconbak, ',');
  -     iconbak[strlen(iconbak) - 1] = '\0';    /* Lose closing paren */
  +     char *alt;
  +     char *cl = strchr(iconbak, ')');
  +
  +     if (cl == NULL) {
  +         return "missing closing paren";
  +     }
  +     alt = getword_nc(cmd->pool, &iconbak, ',');
  +     *cl = '\0';                             /* Lose closing paren */
        add_alt(cmd, d, &alt[1], to);
       }
       if (cmd->info == BY_PATH)
  @@ -612,6 +618,10 @@
        if (!(thefile = pfopen(r->pool, r->filename, "r")))
                 return NULL;
        n = fread(titlebuf, sizeof(char), MAX_STRING_LEN - 1, thefile);
  +     if (n <= 0) {
  +         pfclose(r->pool, thefile);
  +         return NULL;
  +     }
        titlebuf[n] = '\0';
        for (x = 0, p = 0; titlebuf[x]; x++) {
            if (toupper(titlebuf[x]) == find[p]) {
  
  
  

Reply via email to