* [Qemu-devel] [PATCH] target/xtensa: disas/xtensa: fix coverity warnings
@ 2018-01-18 18:27 Max Filippov
0 siblings, 0 replies; only message in thread
From: Max Filippov @ 2018-01-18 18:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Max Filippov
Coverity warnings CID 1385146, 1385148 1385149 and 1385150 point that
xtensa_opcode_num_operands and xtensa_format_num_slots may return -1
even when xtensa_opcode_decode and xtensa_format_decode succeed. In that
case unsigned counters used to iterate through operands/slots will not
do the right thing.
Make counters and loop bounds signed to fix the warnings.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
disas/xtensa.c | 4 ++--
target/xtensa/translate.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/disas/xtensa.c b/disas/xtensa.c
index 114326a4fc2e..5e3870b9ad23 100644
--- a/disas/xtensa.c
+++ b/disas/xtensa.c
@@ -37,7 +37,7 @@ int print_insn_xtensa(bfd_vma memaddr, struct disassemble_info *info)
bfd_byte *buffer = g_malloc(1);
int status = info->read_memory_func(memaddr, buffer, 1, info);
xtensa_format fmt;
- unsigned slot, slots;
+ int slot, slots;
unsigned len;
if (status) {
@@ -79,7 +79,7 @@ int print_insn_xtensa(bfd_vma memaddr, struct disassemble_info *info)
for (slot = 0; slot < slots; ++slot) {
xtensa_opcode opc;
- unsigned opnd, vopnd, opnds;
+ int opnd, vopnd, opnds;
if (slot) {
info->fprintf_func(info->stream, "; ");
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index 4bdfcd24d09b..3f439203acf3 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -942,7 +942,7 @@ static void disas_xtensa_insn(CPUXtensaState *env, DisasContext *dc)
unsigned char b[MAX_INSN_LENGTH] = {cpu_ldub_code(env, dc->pc)};
unsigned len = xtensa_op0_insn_len(dc, b[0]);
xtensa_format fmt;
- unsigned slot, slots;
+ int slot, slots;
unsigned i;
if (len == XTENSA_UNDEFINED) {
@@ -969,7 +969,7 @@ static void disas_xtensa_insn(CPUXtensaState *env, DisasContext *dc)
slots = xtensa_format_num_slots(isa, fmt);
for (slot = 0; slot < slots; ++slot) {
xtensa_opcode opc;
- unsigned opnd, vopnd, opnds;
+ int opnd, vopnd, opnds;
uint32_t raw_arg[MAX_OPCODE_ARGS];
uint32_t arg[MAX_OPCODE_ARGS];
XtensaOpcodeOps *ops;
--
2.1.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2018-01-18 18:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-18 18:27 [Qemu-devel] [PATCH] target/xtensa: disas/xtensa: fix coverity warnings Max Filippov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).