X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fserver%2Fgdb_server.c;h=57ba2806276fa3780bbc43a3b5931e8e28ff3a30;hb=67e0aea25850b8286f750e6458e5de741e6cb3b5;hp=d06c7a075030c09596c84e3232b43da6089552a5;hpb=4febcd8313cf46bea03bd5eacb3f287f19eb2961;p=fw%2Fopenocd diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index d06c7a075..57ba28062 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -47,7 +47,7 @@ static unsigned short gdb_port; static const char *DIGITS = "0123456789abcdef"; static void gdb_log_callback(void *priv, const char *file, int line, - const char *function, const char *format, va_list args); + const char *function, const char *string); enum gdb_detach_mode { @@ -504,7 +504,7 @@ int gdb_get_packet(connection_t *connection, char *buffer, int *len) return retval; } -int gdb_output_con(connection_t *connection, char* line) +int gdb_output_con(connection_t *connection, const char* line) { char *hex_buffer; int i, bin_size; @@ -512,6 +512,8 @@ int gdb_output_con(connection_t *connection, char* line) bin_size = strlen(line); hex_buffer = malloc(bin_size*2 + 2); + if (hex_buffer == NULL) + return ERROR_GDB_BUFFER_TOO_SMALL; hex_buffer[0] = 'O'; for (i=0; ipriv; @@ -1807,13 +1809,7 @@ static void gdb_log_callback(void *priv, const char *file, int line, return; } - char *t = alloc_printf(format, args); - if (t == NULL) - return; - - gdb_output_con(connection, t); - - free(t); + gdb_output_con(connection, string); } int gdb_input_inner(connection_t *connection)