From c53ae2712abd83a4e51415db188b4516568c8811 Mon Sep 17 00:00:00 2001 From: Anton Kochkov Date: Mon, 10 Jun 2013 02:33:33 +0400 Subject: [PATCH] Fixed wrong entrypoint offset in check() function for r_bin_bios --- libr/bin/p/bin_bios.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libr/bin/p/bin_bios.c b/libr/bin/p/bin_bios.c index 3875351fde..39790d105b 100644 --- a/libr/bin/p/bin_bios.c +++ b/libr/bin/p/bin_bios.c @@ -50,12 +50,11 @@ static RBinInfo* info(RBinArch *arch) { } static int check(RBinArch *arch) { - const ut32 ep = 0x000ffff0; /* F000:FFF0 address */ - if (arch->buf && arch->buf->length > ep) { + if (arch->buf) { + const ut32 ep = arch->buf->length - 0x10000 + 0xfff0; /* F000:FFF0 address */ if (arch->buf->buf[0] == 0xff) /* Check if this a 'jmp' opcode */ - if ((arch->buf->buf[ep] == 0xea) | - (arch->buf->buf[ep] == 0xe9)) + if ((arch->buf->buf[ep] == 0xea) | (arch->buf->buf[ep] == 0xe9)) return 1; } return 0;