From b70e2373f75585edca75a1a3736cc049b9a9bdbb Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Fri, 1 Jan 2010 20:47:58 +0000 Subject: [PATCH] yasm_intnum_create_sized(): Fix off-by-one error in sign extension check. svn path=/trunk/yasm/; revision=2253 --- libyasm/intnum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libyasm/intnum.c b/libyasm/intnum.c index e39eb26f..625349c6 100644 --- a/libyasm/intnum.c +++ b/libyasm/intnum.c @@ -385,7 +385,7 @@ yasm_intnum_create_sized(unsigned char *ptr, int sign, size_t srcsize, } /* Sign extend if needed */ - if (srcsize*8 < BITVECT_NATIVE_SIZE && sign && (ptr[i] & 0x80) == 0x80) + if (srcsize*8 < BITVECT_NATIVE_SIZE && sign && (ptr[i-1] & 0x80) == 0x80) BitVector_Interval_Fill(conv_bv, i*8, BITVECT_NATIVE_SIZE-1); intnum_frombv(intn, conv_bv); -- 2.49.0