tag 359983 upstream patch
thanks

Frederik Schüler <[EMAIL PROTECTED]> writes:

> the test
>
> t_12_includeloop
>
> segfaults on amd64.

This is due to an off-by-one error in scanner.l:

--- filtergen-0.12.4.orig/scanner.l
+++ filtergen-0.12.4/scanner.l
@@ -123,7 +123,7 @@
 
 <include>[ \t]*       /* eat whitespace after include */
 <include>[^ \t\n;]+    { /* include file name */
-                          if (inc_stackptr >= MAXINCLUDES) {
+                          if (inc_stackptr >= MAXINCLUDES - 1) {
                               scan_err("warning: too many nested includes");
                              scan_err("warning: skipping include of file %s", 
yytext);
 

inc_stackptr is an index into an array of MAXINCLUDES elements; since
this check is done before it is increased, there needs to be room for
one more element.

Thanks,

Matej

Reply via email to