aboutsummaryrefslogtreecommitdiff
path: root/opcodes/z8k-opc.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-01-08 11:42:36 +1030
committerAlan Modra <amodra@gmail.com>2020-01-08 21:51:32 +1030
commit030a2e78acf66c5c12e073ec3887a167da7a7195 (patch)
treea96dc0b6fda94acff746f176f72c21aa2beed27d /opcodes/z8k-opc.h
parent4c6ee6465acc58f0f86c44668c4e862901186239 (diff)
downloadgdb-030a2e78acf66c5c12e073ec3887a167da7a7195.zip
gdb-030a2e78acf66c5c12e073ec3887a167da7a7195.tar.gz
gdb-030a2e78acf66c5c12e073ec3887a167da7a7195.tar.bz2
ubsan: z8k: index 10 out of bounds for type 'unsigned int const[10]'
The fix is the additional ARRAY_SIZE test, the rest just tidies variable types rather than adding a cast to avoid warnings. opcodes/ * z8k-dis.c: Include libiberty.h (instr_data_s): Make max_fetched unsigned. (z8k_lookup_instr): Make nibl_index and tabl_index unsigned. Don't exceed byte_info bounds. (output_instr): Make num_bytes unsigned. (unpack_instr): Likewise for nibl_count and loop. * z8kgen.c (gas <opcode_entry_type>): Make noperands, length and idx unsigned. * z8k-opc.h: Regenerate. gas/ * config/tc-z8k.c (md_begin): Make idx unsigned. (get_specific): Likewise for this_index.
Diffstat (limited to 'opcodes/z8k-opc.h')
-rw-r--r--opcodes/z8k-opc.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/opcodes/z8k-opc.h b/opcodes/z8k-opc.h
index 68c4ad4..35ce4bc 100644
--- a/opcodes/z8k-opc.h
+++ b/opcodes/z8k-opc.h
@@ -292,9 +292,9 @@ typedef struct {
void (*func) (void);
unsigned int arg_info[4];
unsigned int byte_info[10];
- int noperands;
- int length;
- int idx;
+ unsigned int noperands;
+ unsigned int length;
+ unsigned int idx;
} opcode_entry_type;
#ifdef DEFINE_TABLE