Blame SOURCES/pcre-8.41-fix_stack_estimator.patch
|
|
8ec51b |
Fix recursion stack estimator
|
|
|
8ec51b |
|
|
|
8ec51b |
Due to inlining match() by recent GCC, the stack estimator reported 4-bytes
|
|
|
8ec51b |
stack consumption.
|
|
|
8ec51b |
|
|
|
8ec51b |
Author: Sergei Golubchik <vuvova@gmail.com>
|
|
|
8ec51b |
<https://bugs.exim.org/show_bug.cgi?id=2173>
|
|
|
8ec51b |
|
|
|
8ec51b |
diff --git a/pcre/pcre_exec.c b/pcre/pcre_exec.c
|
|
|
8ec51b |
--- a/pcre/pcre_exec.c
|
|
|
8ec51b |
+++ b/pcre/pcre_exec.c
|
|
|
8ec51b |
@@ -509,6 +509,12 @@
|
|
|
8ec51b |
(e.g. stopped by repeated call or recursion limit)
|
|
|
8ec51b |
*/
|
|
|
8ec51b |
|
|
|
8ec51b |
+#ifdef __GNUC__
|
|
|
8ec51b |
+static int
|
|
|
8ec51b |
+match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
|
|
|
8ec51b |
+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
|
|
|
8ec51b |
+ unsigned int rdepth) __attribute__((noinline,noclone));
|
|
|
8ec51b |
+#endif
|
|
|
8ec51b |
static int
|
|
|
8ec51b |
match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
|
|
|
8ec51b |
PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
|