This is an automated email from Gerrit.

Mathias Küster (kes...@freenet.de) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/517

-- gerrit

commit 87cf77cb13ec4f463c0bfeff3974bf4af94dae07
Author: Mathias K <kes...@freenet.de>
Date:   Tue Mar 13 17:19:24 2012 +0100

    gdb_server: sanity check the gdb register size
    
    This patch checks the received register length with the local
    configured register length and disconnect on a length missmatch.
    
    Change-Id: I6b112c6b55a9ffb4526f582a384ffa91dc8b792f
    Signed-off-by: Mathias K <kes...@freenet.de>

diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 9136993..058f938 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -1137,7 +1137,10 @@ static int gdb_set_register_packet(struct connection 
*connection,
        bin_buf = malloc(DIV_ROUND_UP(reg_list[reg_num]->size, 8));
        int chars = (DIV_ROUND_UP(reg_list[reg_num]->size, 8) * 2);
 
-       /* fix!!! add some sanity checks on packet size here */
+       if ((unsigned int)chars != strlen(separator + 1)) {
+               LOG_ERROR("gdb send a wrong register size");
+               return ERROR_SERVER_REMOTE_CLOSED;
+       }
 
        gdb_target_to_reg(target, separator + 1, chars, bin_buf);
 

-- 

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to