summaryrefslogtreecommitdiff
path: root/src/lex
diff options
context:
space:
mode:
Diffstat (limited to 'src/lex')
-rw-r--r--src/lex/lex.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lex/lex.c b/src/lex/lex.c
index 29291cf..7565b60 100644
--- a/src/lex/lex.c
+++ b/src/lex/lex.c
@@ -397,8 +397,8 @@ css_error emitToken(css_lexer *lexer, css_token_type type,
t->data.len -= 1;
/* Strip the trailing quote, iff it exists (may have hit EOF) */
- if (t->data.ptr[t->data.len - 1] == '"' ||
- t->data.ptr[t->data.len - 1] == '\'') {
+ if (t->data.len > 0 && (t->data.ptr[t->data.len - 1] == '"' ||
+ t->data.ptr[t->data.len - 1] == '\'')) {
t->data.len -= 1;
}
break;
@@ -440,13 +440,14 @@ css_error emitToken(css_lexer *lexer, css_token_type type,
t->data.len -= 1;
/* Strip any trailing whitespace */
- while (isSpace(t->data.ptr[t->data.len - 1])) {
+ while (t->data.len > 0 &&
+ isSpace(t->data.ptr[t->data.len - 1])) {
t->data.len--;
}
/* Strip any trailing quote */
- if (t->data.ptr[t->data.len - 1] == '"' ||
- t->data.ptr[t->data.len - 1] == '\'') {
+ if (t->data.len > 0 && (t->data.ptr[t->data.len - 1] == '"' ||
+ t->data.ptr[t->data.len - 1] == '\'')) {
t->data.len -= 1;
}
break;