This is an automated email from Gerrit.

Andreas Fritiofson ([email protected]) just uploaded a new patch set 
to Gerrit, which you can find at http://openocd.zylin.com/1779

-- gerrit

commit 3984cc82d7fb6592b8caf52f4eb25a8a729adaac
Author: Andreas Fritiofson <[email protected]>
Date:   Mon Sep 30 23:33:59 2013 +0200

    smp: Fix byte order bug
    
    Found by grepping for pointer casts.
    
    Also rewrite to reduce scope and allocate the few bytes needed on stack
    instead of on heap.
    
    Change-Id: Ia2a369fb612e807b981ee60ebcfd9c09c2fbdf4c
    Signed-off-by: Andreas Fritiofson <[email protected]>

diff --git a/src/target/smp.c b/src/target/smp.c
index 39a9533..d14ceba 100644
--- a/src/target/smp.c
+++ b/src/target/smp.c
@@ -59,18 +59,16 @@ int gdb_read_smp_packet(struct connection *connection,
                char *packet, int packet_size)
 {
        struct target *target = get_target_from_connection(connection);
-       uint32_t len = sizeof(int32_t);
-       uint8_t *buffer;
-       char *hex_buffer;
        int retval = ERROR_OK;
        if (target->smp) {
                if (strncmp(packet, "jc", 2) == 0) {
-                       hex_buffer = malloc(len * 2 + 1);
-                       buffer = (uint8_t *)&target->gdb_service->core[0];
-                       int pkt_len = hexify(hex_buffer, (char *)buffer, len, 
len * 2 + 1);
+                       const uint32_t len = 
sizeof(target->gdb_service->core[0]);
+                       char hex_buffer[len * 2 + 1];
+                       char buffer[len];
+                       buf_set_u32(buffer, 0, len * 8, 
target->gdb_service->core[0]);
+                       int pkt_len = hexify(hex_buffer, buffer, 
sizeof(buffer), sizeof(hex_buffer));
 
                        retval = gdb_put_packet(connection, hex_buffer, 
pkt_len);
-                       free(hex_buffer);
                }
        } else
                retval = gdb_put_packet(connection, "E01", 3);

-- 

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to