Fix memory corruption manifested on 32 bit binaries (#58)
* Don't update gototab entries for HAT (corrupts memory)
This commit is contained in:
parent
416c6db5ee
commit
af86dacfad
6
b.c
6
b.c
@ -1273,7 +1273,8 @@ int cgoto(fa *f, int s, int c)
|
|||||||
if (tmpset[j] != p[j])
|
if (tmpset[j] != p[j])
|
||||||
goto different;
|
goto different;
|
||||||
/* setvec is state i */
|
/* setvec is state i */
|
||||||
f->gototab[s][c] = i;
|
if (c != HAT)
|
||||||
|
f->gototab[s][c] = i;
|
||||||
return i;
|
return i;
|
||||||
different:;
|
different:;
|
||||||
}
|
}
|
||||||
@ -1287,7 +1288,8 @@ int cgoto(fa *f, int s, int c)
|
|||||||
p = intalloc(setcnt + 1, __func__);
|
p = intalloc(setcnt + 1, __func__);
|
||||||
|
|
||||||
f->posns[f->curstat] = p;
|
f->posns[f->curstat] = p;
|
||||||
f->gototab[s][c] = f->curstat;
|
if (c != HAT)
|
||||||
|
f->gototab[s][c] = f->curstat;
|
||||||
for (i = 0; i <= setcnt; i++)
|
for (i = 0; i <= setcnt; i++)
|
||||||
p[i] = tmpset[i];
|
p[i] = tmpset[i];
|
||||||
if (setvec[f->accept])
|
if (setvec[f->accept])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user