diff --git a/usr.bin/yacc/skeleton.c b/usr.bin/yacc/skeleton.c index f765c912f5c8..c1263d9e2872 100644 --- a/usr.bin/yacc/skeleton.c +++ b/usr.bin/yacc/skeleton.c @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); const char *banner[] = { "#include ", + "#include ", "#ifndef lint", "#ifdef __unused", "__unused", @@ -331,7 +332,10 @@ const char *body[] = " YYPREFIX, yystate, yyn, yyrule[yyn]);", "#endif", " yym = yylen[yyn];", - " yyval = yyvsp[1-yym];", + " if (yym)", + " yyval = yyvsp[1-yym];", + " else", + " memset(&yyval, 0, sizeof yyval);", " switch (yyn)", " {", 0