From bfaf9a43a5cd25f683e8a42a8288f44232b72053 Mon Sep 17 00:00:00 2001 From: edgar_igl Date: Tue, 6 May 2008 08:45:10 +0000 Subject: [PATCH] Teach the CRIS disassembler to stay within the provided buffer. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4353 c046a42c-6fe2-441c-8c8c-71466251a162 --- cris-dis.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cris-dis.c b/cris-dis.c index 3b09f27676..0781b0886b 100644 --- a/cris-dis.c +++ b/cris-dis.c @@ -2625,12 +2625,10 @@ print_insn_cris_generic (bfd_vma memaddr, If we can't get any data, or we do not get enough data, we print the error message. */ - for (nbytes = MAX_BYTES_PER_CRIS_INSN; nbytes > 0; nbytes -= 2) - { - status = (*info->read_memory_func) (memaddr, buffer, nbytes, info); - if (status == 0) - break; - } + nbytes = info->buffer_length; + if (nbytes > MAX_BYTES_PER_CRIS_INSN) + nbytes = MAX_BYTES_PER_CRIS_INSN; + status = (*info->read_memory_func) (memaddr, buffer, nbytes, info); /* If we did not get all we asked for, then clear the rest. Hopefully this makes a reproducible result in case of errors. */