4bdc1260608e9adcf33f329eb7faf1920ae076d6 jcasper Mon Sep 28 21:09:10 2020 -0700 HTML tag parsing shouldn't look for tags in javascript, no ticket diff --git src/lib/htmlPage.c src/lib/htmlPage.c index 1ac03fc..6c9d856 100644 --- src/lib/htmlPage.c +++ src/lib/htmlPage.c @@ -645,30 +645,39 @@ AllocVar(att); att->name = cloneString(name); att->val = cloneString(val); // The html standard allows us to break quoted attributes into multiple lines using newlines, // but they are not part of the tag value itself, so // Strip \n and \r chars from value (att->val); stripChar(att->val, '\n'); stripChar(att->val, '\r'); attributeDecode(att->val); slAddTail(&tag->attributes, att); s = e; if (gotEnd) break; } + if (sameWord(tagName, "script")) /* Script tag - skip over javascript contents */ + { + s = strcasestr(s, "</script>"); + if (s == NULL) + { + warn("End of file in script tag"); + break; + } + } } } } slReverse(&tagList); return tagList; } static struct htmlFormVar *findOrMakeVar(struct htmlPage *page, char *name, struct hash *hash, struct htmlTag *tag, struct htmlFormVar **pVarList) /* Find variable of existing name if it exists, otherwise * make a new one and add to hash and list. Add reference * to this tag to var. */ { struct htmlFormVar *var = hashFindVal(hash, name); if (var == NULL)