From 29f993f9847e56af3f0aa246774cd9890c7edf85 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 14 Dec 2020 21:35:49 -0800 Subject: Bug fix for literals exceeding end of file --- vm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/vm.c b/vm.c index bb8f025..4b215b2 100644 --- a/vm.c +++ b/vm.c @@ -110,6 +110,7 @@ static match_t *_match(grammar_t *g, file_t *f, const char *str, vm_op_t *op, un return m; } case VM_STRING: { + if (&str[op->len] > f->end) return NULL; if ((flags & BPEG_IGNORECASE) ? strncasecmp(str, op->args.s, (size_t)op->len) != 0 : strncmp(str, op->args.s, (size_t)op->len) != 0) return NULL; -- cgit v1.2.3