bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

possible infinite loop in m4


From: Mike Frysinger
Subject: possible infinite loop in m4
Date: Mon, 5 Jul 2010 06:17:22 -0400
User-agent: KMail/1.13.1 (Linux/2.6.34; KDE/4.4.4; x86_64; ; )

i believe a recent autoconf update triggered a bug in m4 while processing 
crappy m4 code.  the project in question is "rezound":
http://rezound.sf.net/ (version 0.12.3_beta to be exact)

the reduced test case is:
$ cat configure.ac
AC_INIT
ajv_CXX_FLAG(-g)
AC_OUTPUT
$ cat aclocal.m4
AC_DEFUN(ajv_CXX_FLAG,
        [AC_MSG_CHECKING(if $CXX accepts $1 )]
        AC_MSG_RESULT(yes)
)
$ autoconf
<hang here in m4>

the issue seems to be that the 2nd argument to AC_DEFUN is being expanded 
incorrectly due to the [] not enclosing everything.  it only occurs if a macro 
is also used outside of the [] (so plain shell code doesnt trigger the issue).  
if the code is changed as below, then it works fine:
AC_DEFUN(ajv_CXX_FLAG,
        [AC_MSG_CHECKING(if $CXX accepts $1 )
        AC_MSG_RESULT(yes)]
)

looking at the m4 temp file in /tmp/m4-.../m4-10000 shows that AC_MSG_CHECKING 
seems to be expanded over and over until the process is killed.

m4 1.4.1{2,3,4} all behave the same way.  testing with autoconf-2.65 here.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]