X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fserver%2Fgdb_server.c;h=f90f12bb5c805c3c86dabb38ccad71e3b44994dc;hb=22ad1c0f6057aed642d5b1229b24e52dd26b1ec4;hp=fc0868b0a3d56d7ae1c27db014fb68c15d904186;hpb=12a838c6d4b9232e495285edee76636f87cf32e5;p=openocd.git diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index fc0868b0a3..f90f12bb5c 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -2415,13 +2415,13 @@ static int gdb_query_packet(struct connection *connection, char gdb_reply[10]; char *separator; uint32_t checksum; - uint32_t addr = 0; + target_addr_t addr = 0; uint32_t len = 0; /* skip command character */ packet += 5; - addr = strtoul(packet, &separator, 16); + addr = strtoull(packet, &separator, 16); if (*separator != ',') { LOG_ERROR("incomplete read memory packet received, dropping connection"); @@ -3090,7 +3090,13 @@ static int gdb_target_add_one(struct target *target) if (!*end) { if (parse_long(gdb_port_next, &portnumber) == ERROR_OK) { free(gdb_port_next); - gdb_port_next = alloc_printf("%d", portnumber+1); + if (portnumber) { + gdb_port_next = alloc_printf("%d", portnumber+1); + } else { + /* Don't increment if gdb_port is 0, since we're just + * trying to allocate an unused port. */ + gdb_port_next = strdup("0"); + } } } }