Blame SOURCES/file-5.39-regex-caching-3.patch

8a9804
From d1a00ae92b2cf09298615cf3aba474d8fec7380f Mon Sep 17 00:00:00 2001
8a9804
From: Christos Zoulas <christos@zoulas.com>
8a9804
Date: Mon, 18 Apr 2022 21:46:43 +0000
8a9804
Subject: [PATCH] From Dirk Mueller:
8a9804
8a9804
when name/use was used, the regex caching table was incorrectly
8a9804
initialized, which led to false or missing matches.
8a9804
---
8a9804
 src/apprentice.c | 4 ++--
8a9804
 1 file changed, 2 insertions(+), 2 deletions(-)
8a9804
8a9804
diff --git a/src/apprentice.c b/src/apprentice.c
8a9804
index 804c0e33e..992102b4e 100644
8a9804
--- a/src/apprentice.c
8a9804
+++ b/src/apprentice.c
8a9804
@@ -3678,11 +3678,11 @@ file_magicfind(struct magic_set *ms, const char *name, struct mlist *v)
8a9804
 				continue;
8a9804
 			if (strcmp(ma[i].value.s, name) == 0) {
8a9804
 				v->magic = &ma[i];
8a9804
+				v->magic_rxcomp = &(ml->magic_rxcomp[i]);
8a9804
 				for (j = i + 1; j < ml->nmagic; j++)
8a9804
 				    if (ma[j].cont_level == 0)
8a9804
 					    break;
8a9804
 				v->nmagic = j - i;
8a9804
-				v->magic_rxcomp = ml->magic_rxcomp;
8a9804
 				return 0;
8a9804
 			}
8a9804
 		}