ref: af86dacfad85857b2ea9fa95150ddd8c671695ed
parent: 416c6db5ee829b5e97dc8001b28e475fd942dbb6
author: zoulasc <zoulasc@users.noreply.github.com>
date: Sun Dec 8 21:00:45 EST 2019
Fix memory corruption manifested on 32 bit binaries (#58) * Don't update gototab entries for HAT (corrupts memory)
--- a/b.c
+++ b/b.c
@@ -1273,7 +1273,8 @@
if (tmpset[j] != p[j])
goto different;
/* setvec is state i */
- f->gototab[s][c] = i;
+ if (c != HAT)
+ f->gototab[s][c] = i;
return i;
different:;
}
@@ -1287,7 +1288,8 @@
p = intalloc(setcnt + 1, __func__);
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++)
p[i] = tmpset[i];
if (setvec[f->accept])
--
⑨