From 7cecb3721133460fbd3d19b20a16c353db70aa01 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Wed, 29 Jul 2009 06:57:58 +0000 Subject: [PATCH] Es kann durchaus sein, das p->ref nicht definiert ist - daher den oberen iterate() Teil nur ausfuehren wenn p->ref definiert ist - ansonsten gibt es einen Probleme bei der Verwendung von p->ref beim decref() Aufruf. xli wird abgeprueft, aber nur unter bestimmten Bedingungen initialisiert sind diese Bedingungen nicht gegeben, wird xli unitialisiert abgeprueft was zu einem Fehler fuehren kann. Daher wird xli standardmaessig mit 256 initialisiert. --- WEGA/contrib/lcc/cmd/c2/c20.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WEGA/contrib/lcc/cmd/c2/c20.c b/WEGA/contrib/lcc/cmd/c2/c20.c index 7ff0ac3..df21d7d 100644 --- a/WEGA/contrib/lcc/cmd/c2/c20.c +++ b/WEGA/contrib/lcc/cmd/c2/c20.c @@ -643,7 +643,7 @@ iterate() printf("iterate works\n"); nchange = 0; for (p = first.forw; p!=0; p = p->forw) { - if (p->op && p->op <= JSW) { + if (p->op && p->op <= JSW && p->ref) { if(debug > 2){ printf("iterate works on:"); dbprint(p); @@ -939,7 +939,7 @@ char *str; register char *s = str; char *anf, *ende; char *stkp; - unsigned xli; + unsigned xli = 256; while(*s) { while(*s && *s != '_')