From e22bad797f6c09c9ade8b8df63ff507fb9ba900d Mon Sep 17 00:00:00 2001
From: Spencer Oliver <spen@spen-soft.co.uk>
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 <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2065
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
---
 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.
-- 
GitLab