From 914f8ceb09af3526588d6d45edda6fb8170413c8 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Fri, 29 Aug 2008 10:53:07 +0000 Subject: [PATCH] fix invalid read weird, the code uses correct order of checks just ten lines below --- ext/fileinfo/libmagic/softmagic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/fileinfo/libmagic/softmagic.c b/ext/fileinfo/libmagic/softmagic.c index 6661fe4240..dc928658a5 100644 --- a/ext/fileinfo/libmagic/softmagic.c +++ b/ext/fileinfo/libmagic/softmagic.c @@ -131,8 +131,8 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, if ((m->flag & BINTEST) != mode) { /* Skip sub-tests */ - while (magic[magindex + 1].cont_level != 0 && ++magindex < nmagic) { - continue; + while (magindex < nmagic - 1 && magic[magindex + 1].cont_level != 0) { + magindex++; } continue; /* Skip to next top-level test*/ } -- 2.50.1