Fix SSI parsing

PUBLISHED_FROM=c918da948354def5815dfd6b832053f170212c6f
This commit is contained in:
Deomid Ryabkov authored and rojer committed 2015-10-16 12:57:02 +01:00
1 parent 63075f6846
commit ee042a3481
1 file changed
+7 -7
+7 -7
View File
@@ -4309,6 +4309,13 @@ static void send_ssi_file(struct mg_connection *nc, const char *path, FILE *fp,
/* Silently ignore unknown SSI directive. */
}
len = 0;
} else if (ch == '<') {
in_ssi_tag = 1;
if (len > 0) {
mg_send(nc, buf, (size_t) len);
}
len = 0;
buf[len++] = ch & 0xff;
} else if (in_ssi_tag) {
if (len == (int) btag.len && memcmp(buf, btag.p, btag.len) != 0) {
/* Not an SSI tag */
@@ -4318,13 +4325,6 @@ static void send_ssi_file(struct mg_connection *nc, const char *path, FILE *fp,
len = 0;
}
buf[len++] = ch & 0xff;
} else if (ch == '<') {
in_ssi_tag = 1;
if (len > 0) {
mg_send(nc, buf, (size_t) len);
}
len = 0;
buf[len++] = ch & 0xff;
} else {
buf[len++] = ch & 0xff;
if (len == (int) sizeof(buf)) {