From 125f4ebc8786db8abfaf389a4a41edf69c38d387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Szkud=C5=82apski?= Date: Mon, 17 Sep 2012 16:34:54 +0000 Subject: [PATCH] fix crash on windows 32-bit and compute_patch_size --- src/libzzuf/sys.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libzzuf/sys.c b/src/libzzuf/sys.c index b425623..0d05140 100644 --- a/src/libzzuf/sys.c +++ b/src/libzzuf/sys.c @@ -168,7 +168,7 @@ static int compute_patch_size(uint8_t *code, int required_size) int patch_size = 0; while (patch_size < required_size) { - int insn_size = zz_lde(code); + int insn_size = zz_lde(code + patch_size); if (insn_size == 0) return -1; patch_size += insn_size; @@ -287,7 +287,7 @@ static int relocate_hook(uint8_t **code) *code = *dst_addr; #elif _M_IX86 /* UNTESTED ! */ - uint8_t **dst_addr = *(uint32_t *)(*cur_code + 2); + uint8_t **dst_addr = (uint8_t **)(*(uint32_t *)(cur_code + 2)); *code = *dst_addr; #else # error Unsupported architecture !