diff --git a/src/third_party/libdisasm/x86_disasm.c b/src/third_party/libdisasm/x86_disasm.c index 04574fa0..d6b7f810 100644 --- a/src/third_party/libdisasm/x86_disasm.c +++ b/src/third_party/libdisasm/x86_disasm.c @@ -165,7 +165,7 @@ unsigned int x86_disasm_forward( unsigned char *buf, unsigned int buf_len, if (next_addr != -1 ) { next_offset = next_addr - buf_rva; /* if offset is in this buffer... */ - if ( next_offset >= 0 && + if ( next_addr >= buf_rva && next_offset < buf_len ) { /* go ahead and disassemble */ count += x86_disasm_forward( buf,