diff options
Diffstat (limited to 'src/lj_cparse.c')
-rw-r--r-- | src/lj_cparse.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_cparse.c b/src/lj_cparse.c index 70b82af3..a393965e 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c | |||
@@ -169,7 +169,8 @@ static CPToken cp_number(CPState *cp) | |||
169 | TValue o; | 169 | TValue o; |
170 | do { cp_save(cp, cp->c); } while (lj_char_isident(cp_get(cp))); | 170 | do { cp_save(cp, cp->c); } while (lj_char_isident(cp_get(cp))); |
171 | cp_save(cp, '\0'); | 171 | cp_save(cp, '\0'); |
172 | fmt = lj_strscan_scan((const uint8_t *)sbufB(&cp->sb), &o, STRSCAN_OPT_C); | 172 | fmt = lj_strscan_scan((const uint8_t *)sbufB(&cp->sb), sbuflen(&cp->sb)-1, |
173 | &o, STRSCAN_OPT_C); | ||
173 | if (fmt == STRSCAN_INT) cp->val.id = CTID_INT32; | 174 | if (fmt == STRSCAN_INT) cp->val.id = CTID_INT32; |
174 | else if (fmt == STRSCAN_U32) cp->val.id = CTID_UINT32; | 175 | else if (fmt == STRSCAN_U32) cp->val.id = CTID_UINT32; |
175 | else if (!(cp->mode & CPARSE_MODE_SKIP)) | 176 | else if (!(cp->mode & CPARSE_MODE_SKIP)) |