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