This is an automated email from Gerrit.

Paul Fertser (fercer...@gmail.com) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/2562

-- gerrit

commit 461c3a67773648a20eb1539a60387d70b9a25292
Author: Paul Fertser <fercer...@gmail.com>
Date:   Thu Feb 26 20:18:38 2015 +0300

    jtag/tcl: fix incorrect memcpy in jim_newtap_expected_id
    
    Found by clang static checker.
    
    On the very first call of jim_newtap_expected_id() pTap->expected_ids
    and expected_len are null, and there's nothing to copy. This patch
    changes this cryptic code to use realloc() instead.
    
    Change-Id: Ic0b5140d08257a906f15b55a2ae64db7bc06d5f1
    Signed-off-by: Paul Fertser <fercer...@gmail.com>

diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index 11687b9..04dd91e 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -434,20 +434,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) {
+       pTap->expected_ids_cnt++;
+       pTap->expected_ids = realloc(pTap->expected_ids,
+                                    pTap->expected_ids_cnt * sizeof(uint32_t));
+       if (!pTap->expected_ids) {
                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[pTap->expected_ids_cnt - 1] = w;
 
        return JIM_OK;
 }

-- 

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to