aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwangyanwen <wangyanwen@nucleisys.com>2023-10-09 14:08:59 +0800
committerTomas Vanek <vanekt@fbl.cz>2024-02-17 19:44:23 +0000
commit9d5117a23e21fd0eba4662a7068e4e2ffb09b784 (patch)
tree695a7b7ccaf3f91e19c1720ca9c844cfbfe45c72 /src
parent7145b984a9852a0494e2e63df2f61aa36f877377 (diff)
downloadriscv-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.c9
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;