aboutsummaryrefslogtreecommitdiff
path: root/src/target/arm_cti.c
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2018-09-05 15:37:15 +0200
committerMatthias Welwarsky <matthias@welwarsky.de>2018-09-07 08:17:42 +0100
commit11019a824d0273012e9b253fd63ddda6a2468c83 (patch)
treedc25aa14d80f44ff5b62d1aef954a8e8f5aa3d1f /src/target/arm_cti.c
parent2a3b709aa5d1ab83faed1dc7c296ffc117022d62 (diff)
downloadriscv-openocd-11019a824d0273012e9b253fd63ddda6a2468c83.zip
riscv-openocd-11019a824d0273012e9b253fd63ddda6a2468c83.tar.gz
riscv-openocd-11019a824d0273012e9b253fd63ddda6a2468c83.tar.bz2
adi_v5: enforce check on AP number value
The AP number value is restricted in 8 bits unsigned by ADI-v5 specification. Nevertheless, an "invalid" value is used by target cortex-m to force an automatic detection of the AP. Replace magic numbers by using new macros for AP max number and for the value of AP invalid. Check the value passed through -ap-num flag during configuration. Change-Id: Ic19a367db0ab11c0ebd070750eca0647d25279a5 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/4668 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target/arm_cti.c')
-rw-r--r--src/target/arm_cti.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/target/arm_cti.c b/src/target/arm_cti.c
index 0d117e7..dcaf21e 100644
--- a/src/target/arm_cti.c
+++ b/src/target/arm_cti.c
@@ -431,6 +431,10 @@ static int cti_configure(Jim_GetOptInfo *goi, struct arm_cti_object *cti)
e = Jim_GetOpt_Wide(goi, &w);
if (e != JIM_OK)
return e;
+ if (w < 0 || w > DP_APSEL_MAX) {
+ Jim_SetResultString(goi->interp, "-ap-num is invalid", -1);
+ return JIM_ERR;
+ }
cti->ap_num = (uint32_t)w;
}
}