]> git.sur5r.net Git - openocd/commitdiff
target: remove handle_profile_command memory leak
authorSpencer Oliver <spen@spen-soft.co.uk>
Fri, 28 Mar 2014 11:11:13 +0000 (11:11 +0000)
committerPaul Fertser <fercerpav@gmail.com>
Sat, 29 Mar 2014 08:04:43 +0000 (08:04 +0000)
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

index c09dfd865e5b087a40c41d34f89e349aa5bf0e49..b868383d1bed017654b2dfcceb232060293c0fe4 100644 (file)
@@ -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.