diff options
author | wangyanwen <wangyanwen@nucleisys.com> | 2023-10-09 14:08:59 +0800 |
---|---|---|
committer | Tomas Vanek <vanekt@fbl.cz> | 2024-02-17 19:44:23 +0000 |
commit | 9d5117a23e21fd0eba4662a7068e4e2ffb09b784 (patch) | |
tree | 695a7b7ccaf3f91e19c1720ca9c844cfbfe45c72 /src | |
parent | 7145b984a9852a0494e2e63df2f61aa36f877377 (diff) | |
download | riscv-openocd-9d5117a23e21fd0eba4662a7068e4e2ffb09b784.zip riscv-openocd-9d5117a23e21fd0eba4662a7068e4e2ffb09b784.tar.gz riscv-openocd-9d5117a23e21fd0eba4662a7068e4e2ffb09b784.tar.bz2 |
server/gdb-server: fix type error.
Fix flash operation error when addr-width > 32bit
on any 32-bit OS and some 64-bit OS (windows).
Change-Id: I199f1cc5128c45bd0bb155e37acb2fb6325dff88
Signed-off-by: wangyanwen <wangyanwen@nucleisys.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8095
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
Diffstat (limited to 'src')
-rw-r--r-- | src/server/gdb_server.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index d1bcfb5..13bc233 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -3286,7 +3286,7 @@ static int gdb_v_packet(struct connection *connection, } if (strncmp(packet, "vFlashErase:", 12) == 0) { - unsigned long addr; + target_addr_t addr; unsigned long length; char const *parse = packet + 12; @@ -3295,7 +3295,7 @@ static int gdb_v_packet(struct connection *connection, return ERROR_SERVER_REMOTE_CLOSED; } - addr = strtoul(parse, (char **)&parse, 16); + addr = strtoull(parse, (char **)&parse, 16); if (*(parse++) != ',' || *parse == '\0') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); @@ -3343,7 +3343,7 @@ static int gdb_v_packet(struct connection *connection, if (strncmp(packet, "vFlashWrite:", 12) == 0) { int retval; - unsigned long addr; + target_addr_t addr; unsigned long length; char const *parse = packet + 12; @@ -3351,7 +3351,8 @@ static int gdb_v_packet(struct connection *connection, LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); return ERROR_SERVER_REMOTE_CLOSED; } - addr = strtoul(parse, (char **)&parse, 16); + + addr = strtoull(parse, (char **)&parse, 16); if (*(parse++) != ':') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); return ERROR_SERVER_REMOTE_CLOSED; |