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; } } }