[hackers] [PATCH] [cc2] Fix segmentation fault in writeout function

From: Pekka Jylhä-Ollila <pekka.jylha.ollila_AT_gmail.com>
Date: Mon, 11 Apr 2016 21:59:59 +0300

This patch fixes a segfault when more than one function is
defined in the IR input.

---
 cc2/node.c   | 2 +-
 cc2/parser.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/cc2/node.c b/cc2/node.c
index 4bfc353..ef91dce 100644
--- a/cc2/node.c
+++ b/cc2/node.c
_AT_@ -69,7 +69,7 @@ cleannodes(void)
 	struct arena *ap, *next;
 
 	for (ap = arena; ap; ap = next) {
-		next = ap;
+		next = ap->next;
 		free(ap->mem);
 		free(ap);
 	}
diff --git a/cc2/parser.c b/cc2/parser.c
index 39a777f..b036fbd 100644
--- a/cc2/parser.c
+++ b/cc2/parser.c
_AT_@ -629,6 +629,7 @@ parse(void)
 	cleannodes();  /* remove code of previous function */
 	popctx();  /* remove context of previous function */
 	curfun = NULL;
+	endf = 0;
 
 	while (!endf && nextline())
 		/* nothing */;
-- 
2.1.4
Received on Mon Apr 11 2016 - 20:59:59 CEST

This archive was generated by hypermail 2.3.0 : Mon Apr 11 2016 - 21:00:17 CEST