From b11eaa9ee4365abb37df214cf5c46f02407b02c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 20 Jul 1997 09:27:59 -0700
Subject: [PATCH] bugfix

Rev: src/peep.c:1.13
---
 src/peep.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/peep.c b/src/peep.c
index fe70d6329a..3bc7a8c954 100644
--- a/src/peep.c
+++ b/src/peep.c
@@ -157,7 +157,6 @@ void assemble(void)
 	max_label = c->arg;
 
 
-
   labels=(INT32 *)xalloc(sizeof(INT32) * (max_label+1));
   jumps=(INT32 *)xalloc(sizeof(INT32) * (max_label+1));
   uses=(INT32 *)xalloc(sizeof(INT32) * (max_label+1));
@@ -182,9 +181,12 @@ void assemble(void)
 	int tmp,tmp2;
 	tmp=labels[c[e].arg];
 	
-	while(c[tmp].opcode == F_LABEL ||
-	      c[tmp].opcode == F_NOP) tmp++;
+	while(tmp<length &&
+	      (c[tmp].opcode == F_LABEL ||
+	       c[tmp].opcode == F_NOP)) tmp++;
 	
+	if(tmp>=length) break;
+
 	if(c[tmp].opcode==F_BRANCH)
 	{
 	  c[e].arg=c[tmp].arg;
-- 
GitLab