From e22bad797f6c09c9ade8b8df63ff507fb9ba900d Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Fri, 28 Mar 2014 11:11:13 +0000 Subject: [PATCH] target: remove handle_profile_command memory leak COMMAND_PARSE_NUMBER may return, thus any memory allocated may not be freed, simple reorder fixes the issue. Change-Id: I0ce444a5b032f5c49b6d33a03a8c0b71cad49c8c Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/2065 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/target/target.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/target/target.c b/src/target/target.c index c09dfd865..b868383d1 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -3620,14 +3620,15 @@ COMMAND_HANDLER(handle_profile_command) uint32_t offset; uint32_t num_of_sampels; int retval = ERROR_OK; + + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], offset); + uint32_t *samples = malloc(sizeof(uint32_t) * MAX_PROFILE_SAMPLE_NUM); if (samples == NULL) { LOG_ERROR("No memory to store samples."); return ERROR_FAIL; } - COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], offset); - /** * Some cores let us sample the PC without the * annoying halt/resume step; for example, ARMv7 PCSR.