aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/mem_ap.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/target/mem_ap.c b/src/target/mem_ap.c
index 3a2d4b7c..584e19d4 100644
--- a/src/target/mem_ap.c
+++ b/src/target/mem_ap.c
@@ -31,7 +31,7 @@ struct mem_ap {
static int mem_ap_target_create(struct target *target, Jim_Interp *interp)
{
- struct mem_ap *mem_ap = calloc(1, sizeof(struct mem_ap));
+ struct mem_ap *mem_ap;
struct adiv5_private_config *pc;
pc = (struct adiv5_private_config *)target->private_config;
@@ -43,6 +43,12 @@ static int mem_ap_target_create(struct target *target, Jim_Interp *interp)
return ERROR_FAIL;
}
+ mem_ap = calloc(1, sizeof(struct mem_ap));
+ if (mem_ap == NULL) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
+
mem_ap->ap_num = pc->ap_num;
mem_ap->arm.common_magic = ARM_COMMON_MAGIC;
mem_ap->arm.dap = pc->dap;