Date: Sun, 6 Feb 2011 23:20:19 GMT From: Garrett Cooper <gcooper@FreeBSD.org> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/154562: [make] corrupted stack access when provided invalid identifiers Message-ID: <201102062320.p16NKJ3m071730@red.freebsd.org> Resent-Message-ID: <201102062330.p16NUAX3040097@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 154562
>Category: misc
>Synopsis: [make] corrupted stack access when provided invalid identifiers
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Feb 06 23:30:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Garrett Cooper
>Release: CURRENT / 8.1-RELEASE
>Organization:
n/a
>Environment:
FreeBSD toaster.local 8.1-RELEASE FreeBSD 8.1-RELEASE #0 r216175: Mon Dec 6 01:40:05 PST 2010 gcooper@toaster.local:/usr/obj/usr/src/sys/BREADBOX i386
FreeBSD bayonetta.local 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r218082M: Sun Jan 30 00:20:08 PST 2011 gcooper@bayonetta.local:/usr/obj/usr/src/sys/BAYONETTA amd64
>Description:
Looks like make is corrupting its stack based on the fact that this simple Makefile doesn't contain references to the text noted here:
Output on toaster.local:
> make -f Makefile
Unknown modifier '\'
Unknown modifier '\'
Unknown modifier '\'
"Makefile", line 4: warning: is deprecated in favour of
"Makefile", line 6: if-less endif
"Makefile", line 7: for-less endfor
"Makefile", line 8: for-less endfor
"Makefile", line 3: Unassociated shell command "echo {old}) && !defined(${new})"
"Makefile", line 4: warning: is deprecated in favour of
"Makefile", line 6: if-less endif
"Makefile", line 7: for-less endfor
"Makefile", line 8: for-less endfor
"Makefile", line 3: Unassociated shell command "echo {old}) && !defined(${new})"
"Makefile", line 4: warning: is deprecated in favour of
"Makefile", line 6: if-less endif
"Makefile", line 7: for-less endfor
"Makefile", line 8: for-less endfor
make: fatal errors encountered -- cannot continue
Output on bayonetta.local:
$ make -f ~/substitution-corruption.mk
Unknown modifier '\'
Unknown modifier '\'
Unknown modifier '\'
echo ���������������������������������������������������������������������������������������������������������������������������&
#65533;��������������������������������������������������������������������������������:.*
���������������������������������������������������������������������������������������������������������������������������ᦙ
3;��������������������������������������������������������������������������������:.*
echo ���������������������������������������������������������������������������������������������������������������������������&
#65533;��������������������������������������������������������������������������������:.*
���������������������������������������������������������������������������������������������������������������������������ᦙ
3;��������������������������������������������������������������������������������:.*
echo ���������������������������������������������������������������������������������������������������������������������������&
#65533;��������������������������������������������������������������������������������:.*
���������������������������������������������������������������������������������������������������������������������������ᦙ
3;��������������������������������������������������������������������������������:.*
>How-To-Repeat:
cat > substitution-corruption.mk <<EOF
all:
.for i in a/b/c a/b/c.d ./a/b/c/d.e
echo ${i:S/^\.\//:S/\/\/_/g:S/\./__/g:S/-/____/g}
.endfor
EOF
make -f substitution-corruption.mk all
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102062320.p16NKJ3m071730>
