OpenBSD finds 33 year old bug in yacc(1)

Ulrich Spoerlein uspoerlein at gmail.com
Tue Jul 8 19:45:32 UTC 2008


Hi,

I may have used yacc(1) once, but am in no position to analyze our yacc
wrt. the bug found here[1]

I grepped the offending pattern, though and it matches right here:

% grep -A1 -r 'yym.*=.*yylen' /usr/src/usr.bin/yacc
/usr/src/usr.bin/yacc/skeleton.c:    "    yym = yylen[yyn];",
/usr/src/usr.bin/yacc/skeleton.c-    "    yyval = yyvsp[1-yym];",
--
/usr/src/usr.bin/yacc/test/error.tab.c:    yym = yylen[yyn];
/usr/src/usr.bin/yacc/test/error.tab.c-    yyval = yyvsp[1-yym];
--
/usr/src/usr.bin/yacc/test/ftp.tab.c:    yym = yylen[yyn];
/usr/src/usr.bin/yacc/test/ftp.tab.c-    yyval = yyvsp[1-yym];

I didn't find any recent commits to these files, so perhaps the bug is
still there?

[1] http://undeadly.org/cgi?action=article&sid=20080708155228

Cheers,
Ulrich Spoerlein
-- 
It is better to remain silent and be thought a fool,
than to speak, and remove all doubt.


More information about the freebsd-current mailing list