misc/154562: [make] corrupted stack access when provided invalid
identifiers
Garrett Cooper
gcooper at FreeBSD.org
Sun Feb 6 23:30:10 UTC 2011
>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 at 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 at 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:
More information about the freebsd-bugs
mailing list