summaryrefslogtreecommitdiff
path: root/css
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2006-02-05 22:22:35 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2006-02-05 22:22:35 +0000
commit9a35230e883d93c73b325231111d8325499f90a4 (patch)
tree56911c82e10e0f719a2f8ca66030e3968739f79b /css
parent4c90aad6599460b2c5059aedbdf609cb59f10569 (diff)
downloadnetsurf-9a35230e883d93c73b325231111d8325499f90a4.tar.gz
netsurf-9a35230e883d93c73b325231111d8325499f90a4.tar.bz2
[project @ 2006-02-05 22:22:35 by jmb]
Fix bad read svn path=/import/netsurf/; revision=2057
Diffstat (limited to 'css')
-rw-r--r--css/css.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/css/css.c b/css/css.c
index d5083a30f..d881a8ed2 100644
--- a/css/css.c
+++ b/css/css.c
@@ -1386,10 +1386,13 @@ bool css_match_detail(const struct css_selector *detail,
free(word);
if (!s)
break;
- word = s + (strlen(s) - detail->data2_length);
- if (s && strncasecmp(detail->data2, word,
- detail->data2_length) == 0)
- match = true;
+ length = strlen(s);
+ if (detail->data2_length <= length) {
+ word = s + (length - detail->data2_length);
+ if (s && strncasecmp(detail->data2, word,
+ detail->data2_length) == 0)
+ match = true;
+ }
break;
case CSS_SELECTOR_ATTRIB_SUB: