diff options
author | Frank Kotler <fbkotler@users.sourceforge.net> | 2005-06-08 16:41:10 +0000 |
---|---|---|
committer | Frank Kotler <fbkotler@users.sourceforge.net> | 2005-06-08 16:41:10 +0000 |
commit | f3071da71e0ef3193d35a5afd1cc0c9cc4db5687 (patch) | |
tree | 7b1ffdd0f3a82e16258f5a194d18f50830e1ea29 | |
parent | 02f05cebbade344d0f84c42fde59c30582997b3a (diff) | |
download | nasm-f3071da71e0ef3193d35a5afd1cc0c9cc4db5687.tar.gz |
fix outobj.c bug - every 256th extern crashed nasm
-
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | output/outobj.c | 6 |
2 files changed, 6 insertions, 3 deletions
@@ -1,3 +1,6 @@ +0.98.40 +* fix (?) bug in outobj.c - every 256th "extern" caused Nasm crash + 0.98.39 ------- * fix buffer overflow diff --git a/output/outobj.c b/output/outobj.c index d1464fc0..84a7bcd5 100644 --- a/output/outobj.c +++ b/output/outobj.c @@ -1172,7 +1172,7 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, else { long i = seg / 2; struct ExtBack *eb = ebhead; - while (i > EXT_BLKSIZ) { + while (i >= EXT_BLKSIZ) { if (eb) eb = eb->next; else @@ -1231,7 +1231,7 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, else { long i = wrt / 2; struct ExtBack *eb = ebhead; - while (i > EXT_BLKSIZ) { + while (i >= EXT_BLKSIZ) { if (eb) eb = eb->next; else @@ -1766,7 +1766,7 @@ static long obj_segbase(long segment) struct ExtBack *eb = ebhead; struct External *e; - while (i > EXT_BLKSIZ) { + while (i >= EXT_BLKSIZ) { if (eb) eb = eb->next; else |