diff --git a/arch/AArch64/AArch64Mapping.c b/arch/AArch64/AArch64Mapping.c index a08b75f1..486cdbcf 100644 --- a/arch/AArch64/AArch64Mapping.c +++ b/arch/AArch64/AArch64Mapping.c @@ -283,7 +283,7 @@ static name_map reg_name_maps[] = { const char *AArch64_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= ARM64_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; diff --git a/arch/ARM/ARMMapping.c b/arch/ARM/ARMMapping.c index 600cc62b..412f441e 100644 --- a/arch/ARM/ARMMapping.c +++ b/arch/ARM/ARMMapping.c @@ -245,7 +245,7 @@ static name_map reg_name_maps2[] = { const char *ARM_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= ARM_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; @@ -257,7 +257,7 @@ const char *ARM_reg_name(csh handle, unsigned int reg) const char *ARM_reg_name2(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= ARM_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps2)) return NULL; return reg_name_maps2[reg].name; diff --git a/arch/M680X/M680XInstPrinter.c b/arch/M680X/M680XInstPrinter.c index 34a8836a..57bb1d42 100644 --- a/arch/M680X/M680XInstPrinter.c +++ b/arch/M680X/M680XInstPrinter.c @@ -299,7 +299,7 @@ const char *M680X_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= M680X_REG_ENDING) + if (reg >= ARR_SIZE(s_reg_names)) return NULL; return s_reg_names[(int)reg]; diff --git a/arch/M68K/M68KInstPrinter.c b/arch/M68K/M68KInstPrinter.c index 14a86e45..411e9842 100644 --- a/arch/M68K/M68KInstPrinter.c +++ b/arch/M68K/M68KInstPrinter.c @@ -338,6 +338,9 @@ const char* M68K_reg_name(csh handle, unsigned int reg) #ifdef CAPSTONE_DIET return NULL; #else + if (reg >= ARR_SIZE(s_reg_names)) { + return NULL; + } return s_reg_names[(int)reg]; #endif } diff --git a/arch/Mips/MipsMapping.c b/arch/Mips/MipsMapping.c index c58c9d1d..3ef76756 100644 --- a/arch/Mips/MipsMapping.c +++ b/arch/Mips/MipsMapping.c @@ -201,7 +201,7 @@ static name_map reg_name_maps[] = { const char *Mips_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= MIPS_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; diff --git a/arch/PowerPC/PPCMapping.c b/arch/PowerPC/PPCMapping.c index 085d85f6..0044d593 100644 --- a/arch/PowerPC/PPCMapping.c +++ b/arch/PowerPC/PPCMapping.c @@ -234,7 +234,7 @@ static name_map reg_name_maps[] = { const char *PPC_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= PPC_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; diff --git a/arch/Sparc/SparcMapping.c b/arch/Sparc/SparcMapping.c index 0f70ff0c..f6566104 100644 --- a/arch/Sparc/SparcMapping.c +++ b/arch/Sparc/SparcMapping.c @@ -112,7 +112,7 @@ static name_map reg_name_maps[] = { const char *Sparc_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= SPARC_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; diff --git a/arch/SystemZ/SystemZMapping.c b/arch/SystemZ/SystemZMapping.c index c32ec1a3..b9321527 100644 --- a/arch/SystemZ/SystemZMapping.c +++ b/arch/SystemZ/SystemZMapping.c @@ -57,7 +57,7 @@ static name_map reg_name_maps[] = { const char *SystemZ_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= SYSZ_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; diff --git a/arch/TMS320C64x/TMS320C64xMapping.c b/arch/TMS320C64x/TMS320C64xMapping.c index e09a49d4..3a0223f4 100644 --- a/arch/TMS320C64x/TMS320C64xMapping.c +++ b/arch/TMS320C64x/TMS320C64xMapping.c @@ -110,7 +110,7 @@ static name_map reg_name_maps[] = { const char *TMS320C64x_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= TMS320C64X_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name; diff --git a/arch/X86/X86Mapping.c b/arch/X86/X86Mapping.c index 07772df9..c859adbb 100644 --- a/arch/X86/X86Mapping.c +++ b/arch/X86/X86Mapping.c @@ -828,7 +828,7 @@ const char *X86_reg_name(csh handle, unsigned int reg) #ifndef CAPSTONE_DIET cs_struct *ud = (cs_struct *)handle; - if (reg >= X86_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; if (reg == X86_REG_EFLAGS) { diff --git a/arch/XCore/XCoreMapping.c b/arch/XCore/XCoreMapping.c index 8c86eb8a..e2dc9f58 100644 --- a/arch/XCore/XCoreMapping.c +++ b/arch/XCore/XCoreMapping.c @@ -49,7 +49,7 @@ static name_map reg_name_maps[] = { const char *XCore_reg_name(csh handle, unsigned int reg) { #ifndef CAPSTONE_DIET - if (reg >= XCORE_REG_ENDING) + if (reg >= ARR_SIZE(reg_name_maps)) return NULL; return reg_name_maps[reg].name;