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.
This commit is contained in:
parent
96f6639d5c
commit
7cecb37211
|
|
@ -643,7 +643,7 @@ iterate()
|
||||||
printf("iterate works\n");
|
printf("iterate works\n");
|
||||||
nchange = 0;
|
nchange = 0;
|
||||||
for (p = first.forw; p!=0; p = p->forw) {
|
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){
|
if(debug > 2){
|
||||||
printf("iterate works on:");
|
printf("iterate works on:");
|
||||||
dbprint(p);
|
dbprint(p);
|
||||||
|
|
@ -939,7 +939,7 @@ char *str;
|
||||||
register char *s = str;
|
register char *s = str;
|
||||||
char *anf, *ende;
|
char *anf, *ende;
|
||||||
char *stkp;
|
char *stkp;
|
||||||
unsigned xli;
|
unsigned xli = 256;
|
||||||
|
|
||||||
while(*s) {
|
while(*s) {
|
||||||
while(*s && *s != '_')
|
while(*s && *s != '_')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue