aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/hla
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2018-01-13 17:24:37 +0300
committerTomas Vanek <vanekt@fbl.cz>2018-03-12 14:10:18 +0000
commit6c6b42664a460da505a55c9062708fe314a9fcd8 (patch)
treeba9336f71d2ee626465579bfbed4a5796370e9b8 /src/jtag/hla
parentbfc5c764df145f68835543119865eabe462e19c2 (diff)
downloadriscv-openocd-6c6b42664a460da505a55c9062708fe314a9fcd8.zip
riscv-openocd-6c6b42664a460da505a55c9062708fe314a9fcd8.tar.gz
riscv-openocd-6c6b42664a460da505a55c9062708fe314a9fcd8.tar.bz2
jtag: hla: tcl: fix inconsistent expected_id handling
Copy from 20fcd0729e7187e8fe6a38ce53b0a1b95ea647fb. Should fix http://build.openocd.org/job/openocd-clang/doclinks/1/report-1e9b08.html Change-Id: I1a83387b4d745134acc38eeba08aa869d9895573 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/4333 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src/jtag/hla')
-rw-r--r--src/jtag/hla/hla_tcl.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/jtag/hla/hla_tcl.c b/src/jtag/hla/hla_tcl.c
index 9378427..73f78fc 100644
--- a/src/jtag/hla/hla_tcl.c
+++ b/src/jtag/hla/hla_tcl.c
@@ -39,20 +39,15 @@ static int jim_newtap_expected_id(Jim_Nvp *n, Jim_GetOptInfo *goi,
return e;
}
- unsigned expected_len = sizeof(uint32_t) * pTap->expected_ids_cnt;
- uint32_t *new_expected_ids = malloc(expected_len + sizeof(uint32_t));
- if (new_expected_ids == NULL) {
+ uint32_t *p = realloc(pTap->expected_ids,
+ (pTap->expected_ids_cnt + 1) * sizeof(uint32_t));
+ if (!p) {
Jim_SetResultFormatted(goi->interp, "no memory");
return JIM_ERR;
}
- memcpy(new_expected_ids, pTap->expected_ids, expected_len);
-
- new_expected_ids[pTap->expected_ids_cnt] = w;
-
- free(pTap->expected_ids);
- pTap->expected_ids = new_expected_ids;
- pTap->expected_ids_cnt++;
+ pTap->expected_ids = p;
+ pTap->expected_ids[pTap->expected_ids_cnt++] = w;
return JIM_OK;
}