Module Name: src
Committed By: christos
Date: Fri Aug 19 10:58:15 UTC 2016
Modified Files:
src/usr.bin/xlint/lint1: cgram.y func.c
Log Message:
be less aggressive in clearing blocks to protect against:
int
main(int argc, char *argv[])
{
int rv;
if ((rv = ({ int _ret = 1; if (argc == 1) {} _ret; })) != 0)
printf("%d\n", rv);
return 0;
}
To generate a diff of this commit:
cvs rdiff -u -r1.79 -r1.80 src/usr.bin/xlint/lint1/cgram.y
cvs rdiff -u -r1.25 -r1.26 src/usr.bin/xlint/lint1/func.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.79 src/usr.bin/xlint/lint1/cgram.y:1.80
--- src/usr.bin/xlint/lint1/cgram.y:1.79 Sun Jul 31 18:38:04 2016
+++ src/usr.bin/xlint/lint1/cgram.y Fri Aug 19 06:58:15 2016
@@ -1,5 +1,5 @@
%{
-/* $NetBSD: cgram.y,v 1.79 2016/07/31 22:38:04 dholland Exp $ */
+/* $NetBSD: cgram.y,v 1.80 2016/08/19 10:58:15 christos Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: cgram.y,v 1.79 2016/07/31 22:38:04 dholland Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.80 2016/08/19 10:58:15 christos Exp $");
#endif
#include <stdlib.h>
@@ -1458,7 +1458,7 @@ stmnt_list:
expr_stmnt:
expr T_SEMI {
- expr($1, 0, 0, 1);
+ expr($1, 0, 0, 0);
ftflg = 0;
}
| T_SEMI {
Index: src/usr.bin/xlint/lint1/func.c
diff -u src/usr.bin/xlint/lint1/func.c:1.25 src/usr.bin/xlint/lint1/func.c:1.26
--- src/usr.bin/xlint/lint1/func.c:1.25 Fri Apr 19 13:43:05 2013
+++ src/usr.bin/xlint/lint1/func.c Fri Aug 19 06:58:15 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: func.c,v 1.25 2013/04/19 17:43:05 christos Exp $ */
+/* $NetBSD: func.c,v 1.26 2016/08/19 10:58:15 christos Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: func.c,v 1.25 2013/04/19 17:43:05 christos Exp $");
+__RCSID("$NetBSD: func.c,v 1.26 2016/08/19 10:58:15 christos Exp $");
#endif
#include <stdlib.h>
@@ -538,7 +538,7 @@ if1(tnode_t *tn)
tn = cconv(tn);
if (tn != NULL)
tn = promote(NOOP, 0, tn);
- expr(tn, 0, 1, 1);
+ expr(tn, 0, 1, 0);
pushctrl(T_IF);
}