mirror of
https://github.com/mirror/wget.git
synced 2024-12-29 14:30:48 +08:00
Fixed crash while processing page with invalid `style' attribute.
This commit is contained in:
parent
62864cee6e
commit
62aab82ead
@ -1,3 +1,7 @@
|
||||
2010-10-08 Ivanov Anton <x86mail@gmail.com> (tiny change)
|
||||
|
||||
* src/html-url.c (check_style_attr): Skip quotes when they are present.
|
||||
|
||||
2010-10-06 Giuseppe Scrivano <gscrivano@gnu.org>
|
||||
|
||||
* main.c (main): Remove unused variable `status'.
|
||||
|
@ -364,12 +364,27 @@ static void
|
||||
check_style_attr (struct taginfo *tag, struct map_context *ctx)
|
||||
{
|
||||
int attrind;
|
||||
int raw_start;
|
||||
int raw_len;
|
||||
char *style = find_attr (tag, "style", &attrind);
|
||||
if (!style)
|
||||
return;
|
||||
|
||||
/* raw pos and raw size include the quotes, hence the +1 -2 */
|
||||
get_urls_css (ctx, ATTR_POS(tag,attrind,ctx)+1, ATTR_SIZE(tag,attrind)-2);
|
||||
/* raw pos and raw size include the quotes, skip them when they are
|
||||
present. */
|
||||
raw_start = ATTR_POS (tag, attrind, ctx);
|
||||
raw_len = ATTR_SIZE (tag, attrind);
|
||||
if( *(char *)(ctx->text + raw_start) == '\''
|
||||
|| *(char *)(ctx->text + raw_start) == '"')
|
||||
{
|
||||
raw_start += 1;
|
||||
raw_len -= 2;
|
||||
}
|
||||
|
||||
if(raw_len <= 0)
|
||||
return;
|
||||
|
||||
get_urls_css (ctx, raw_start, raw_len);
|
||||
}
|
||||
|
||||
/* All the tag_* functions are called from collect_tags_mapper, as
|
||||
|
Loading…
Reference in New Issue
Block a user