summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-07-11 19:01:03 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-07-11 19:01:03 +0200
commitee67552c4bbe674461e7db7b87ceef0a742aeac7 (patch)
tree21dc441e09dfaa71812add045f3a1db0a4446f26
parentd0bde76422762967107003433de7ddf022083410 (diff)
downloadplan9front-ee67552c4bbe674461e7db7b87ceef0a742aeac7.tar.xz
cc: fix include array overflow handling
-rw-r--r--sys/src/cmd/cc/lex.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/src/cmd/cc/lex.c b/sys/src/cmd/cc/lex.c
index b3999f6e7..95960fa9d 100644
--- a/sys/src/cmd/cc/lex.c
+++ b/sys/src/cmd/cc/lex.c
@@ -1535,12 +1535,12 @@ setinclude(char *p)
if(strcmp(p, include[i]) == 0)
break;
- if(i >= ninclude)
+ if(i >= ninclude){
+ if(ninclude >= nelem(include)) {
+ diag(Z, "ninclude too small %d", nelem(include));
+ exits("ninclude");
+ }
include[ninclude++] = p;
-
- if(ninclude > nelem(include)) {
- diag(Z, "ninclude too small %d", nelem(include));
- exits("ninclude");
}
if(e == 0)