shithub: trueawk

Download patch

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])
--