Free some nickname related memory in gtk-gui.c

init_ui():
We add the char pointer "conf_copy" and free it afterwards, since
once "next_token" is changed it no longer points to the allocated heap
location the mapper returned.

[Dirk Hohndel: original patch rewritten to have better variable names and
 to match the recent changes to this code]

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Lubomir I. Ivanov 2012-12-22 20:19:51 -08:00 committed by Dirk Hohndel
parent b10ebbda61
commit ba223798d3

View file

@ -1205,10 +1205,10 @@ void init_ui(int *argcp, char ***argvp)
conf_value = subsurface_get_conf("dc_nicknames", PREF_STRING);
nicknamestring = strdup("");
if (conf_value) {
char *next_token, *nickname, *model;
char *next_token, *nickname, *model, *conf_copy;
uint32_t deviceid;
int len;
next_token = strdup(conf_value);
next_token = conf_copy = strdup(conf_value);
len = strlen(next_token);
while ((next_token = g_utf8_strchr(next_token, len, '{')) != NULL) {
/* replace the '{' so we keep looking in case any test fails */
@ -1246,7 +1246,7 @@ void init_ui(int *argcp, char ***argvp)
};
}
free((void *)conf_value);
free(next_token);
free(conf_copy);
}
error_info_bar = NULL;
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);