From 2dda5fefdc25448cf38f6075206e9c7f761feb90 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Fri, 8 Jan 2016 12:52:04 -0500 Subject: libdisasm: Don't depend on sizeof(void) Due to operator precedence, the address was first cast to void* and then incremented, which resulted in an error on windows, as sizeof(void) is undefined and MSVC takes this seriously. Changing the precedence to perform the addition first. R=mark@chromium.org Review URL: https://codereview.chromium.org/1570843002 . Patch from Pavel Labath . --- src/third_party/libdisasm/x86_disasm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/third_party') diff --git a/src/third_party/libdisasm/x86_disasm.c b/src/third_party/libdisasm/x86_disasm.c index 51a213a4..1b82f4e6 100644 --- a/src/third_party/libdisasm/x86_disasm.c +++ b/src/third_party/libdisasm/x86_disasm.c @@ -35,7 +35,7 @@ unsigned int x86_disasm( unsigned char *buf, unsigned int buf_len, if ( offset >= buf_len ) { /* another caller screwup ;) */ - x86_report_error(report_disasm_bounds, (void*)(long)buf_rva+offset); + x86_report_error(report_disasm_bounds, (void*)(long)(buf_rva+offset)); return 0; } @@ -53,13 +53,13 @@ unsigned int x86_disasm( unsigned char *buf, unsigned int buf_len, /* check and see if we had an invalid instruction */ if (! size ) { - x86_report_error(report_invalid_insn, (void*)(long)buf_rva+offset ); + x86_report_error(report_invalid_insn, (void*)(long)(buf_rva+offset)); return 0; } /* check if we overran the end of the buffer */ if ( size > len ) { - x86_report_error( report_insn_bounds, (void*)(long)buf_rva + offset ); + x86_report_error( report_insn_bounds, (void*)(long)(buf_rva + offset)); MAKE_INVALID( insn, bytes ); return 0; } -- cgit v1.2.1