martin      97/12/22 13:53:18

  Modified:    .        STATUS
               src/modules/standard mod_include.c
  Log:
  A couple of break;s were missing from switch() statements; the result
  would have been wrong or missing error messages in the case of invalid
  expressions in SSI files.
  Reviewed by:Jim Jagielski, Dean Gaudet
  
  Revision  Changes    Path
  1.15      +3 -6      apachen/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/apachen/STATUS,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -u -r1.14 -r1.15
  --- STATUS    1997/12/22 18:00:02     1.14
  +++ STATUS    1997/12/22 21:52:59     1.15
  @@ -47,6 +47,7 @@
       * Mark Bixby's [PORT] MPE porting patch
       * 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)
   
   Available:
   
  @@ -56,11 +57,11 @@
   
       * Dean's [PATCH] Re: [BUGFIXES] Wrong GID for PID file and UMASK for logs
        <[EMAIL PROTECTED]>
  -     Status: Dean +1
  +     Status: Dean +1, Martin +1
   
       * Dean's [PATCH] two bugs in mod_autoindex
        <[EMAIL PROTECTED]>
  -     Status: Dean +1, Randy +1
  +     Status: Dean +1, Randy +1, Martin +1
   
       * Dean's [PATCH] fix Rasmus' chunking error
        <[EMAIL PROTECTED]>
  @@ -77,10 +78,6 @@
       * Martin's [PATCH] 36kB: Make apache compile & run on an EBCDIC mainframe
        <[EMAIL PROTECTED]>
        Status: Martin +1, Dean +1
  -
  -    * Martin's [PATCH] Gimme a break!
  -     <[EMAIL PROTECTED]>
  -     Status: Martin +1, Jim +1, Dean +1
   
       * Ben Hyde's [PATCH] Serialize the update to pool.sub_* in destroy_pool
         (take 2)
  
  
  
  1.59      +11 -0     apachen/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===================================================================
  RCS file: /home/cvs/apachen/src/modules/standard/mod_include.c,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -u -r1.58 -r1.59
  --- mod_include.c     1997/11/09 20:40:34     1.58
  +++ mod_include.c     1997/12/22 21:53:17     1.59
  @@ -1098,6 +1098,7 @@
           return (char *) NULL;
       }
   
  +    token->type = token_string; /* the default type */
       switch (ch) {
       case '(':
           token->type = token_lbrace;
  @@ -1126,11 +1127,13 @@
               token->type = token_or;
               return (string + 1);
           }
  +        break;
       case '&':
           if (*string == '&') {
               token->type = token_and;
               return (string + 1);
           }
  +        break;
       case '>':
           if (*string == '=') {
               token->type = token_ge;
  @@ -1192,10 +1195,12 @@
                   if (*(string + 1) == '|') {
                       goto TOKEN_DONE;
                   }
  +                break;
               case '&':
                   if (*(string + 1) == '&') {
                       goto TOKEN_DONE;
                   }
  +                break;
               case '<':
                   goto TOKEN_DONE;
               case '>':
  @@ -1957,6 +1962,12 @@
               }
               parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 0);
               table_set(r->subprocess_env, var, parsed_string);
  +        }
  +        else {
  +            aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r->server,
  +                        "Invalid tag for set directive");
  +            rputs(error, r);
  +            return -1;
           }
       }
   }
  
  
  

Reply via email to