X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fserver%2Fgdb_server.c;h=2912c7433c9f12714a422ab273bb13613191d8f1;hp=f2d0a46f90df2aea36119f7ed65b5f01d44a1151;hb=d99efc9076448ed01dc2ac3ee07f6f661457739a;hpb=4c9d6038b265321be24b40f97350a17ccb634f5f diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index f2d0a46f90..2912c7433c 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -1998,7 +1998,7 @@ static int gdb_generate_reg_type_description(struct target *target, /* Get a list of available target registers features. feature_list must * be freed by caller. */ -static int get_reg_features_list(struct target *target, char **feature_list[], int *feature_list_size, +static int get_reg_features_list(struct target *target, char const **feature_list[], int *feature_list_size, struct reg **reg_list, int reg_list_size) { int tbl_sz = 0; @@ -2019,7 +2019,7 @@ static int get_reg_features_list(struct target *target, char **feature_list[], i */ for (int j = 0; j < (tbl_sz + 1); j++) { if (!((*feature_list)[j])) { - (*feature_list)[tbl_sz++] = strdup(reg_list[i]->feature->name); + (*feature_list)[tbl_sz++] = reg_list[i]->feature->name; *feature_list = realloc(*feature_list, sizeof(char *) * (tbl_sz + 1)); (*feature_list)[tbl_sz] = NULL; break; @@ -2042,7 +2042,7 @@ static int gdb_generate_target_description(struct target *target, char **tdesc_o int retval = ERROR_OK; struct reg **reg_list = NULL; int reg_list_size; - char **features = NULL; + char const **features = NULL; int feature_list_size = 0; char *tdesc = NULL; int pos = 0; @@ -2149,10 +2149,6 @@ static int gdb_generate_target_description(struct target *target, char **tdesc_o "\n"); error: - - /* note: features[] contains (feature_list_size + 1) elements */ - for (int j = feature_list_size; j >= 0; j--) - free(features[j]); free(features); free(reg_list); @@ -2223,7 +2219,7 @@ static int gdb_target_description_supported(struct target *target, int *supporte int retval = ERROR_OK; struct reg **reg_list = NULL; int reg_list_size = 0; - char **features = NULL; + char const **features = NULL; int feature_list_size = 0; retval = target_get_gdb_reg_list(target, ®_list, @@ -2254,10 +2250,6 @@ static int gdb_target_description_supported(struct target *target, int *supporte } error: - - /* note: features[] contains (feature_list_size + 1) elements */ - for (int j = feature_list_size; j >= 0; j--) - free(features[j]); free(features); free(reg_list);