diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2012-12-22 20:19:51 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2012-12-22 20:19:51 -0800 |
commit | ba223798d3f0116d242e0010063c81f87eecf9f5 (patch) | |
tree | a887177a0d8cb10d09eec4c02ea97baa6c137a1d /gtk-gui.c | |
parent | b10ebbda618c010fabdd7bb05d07aa9d69ce1305 (diff) | |
download | subsurface-ba223798d3f0116d242e0010063c81f87eecf9f5.tar.gz |
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>
Diffstat (limited to 'gtk-gui.c')
-rw-r--r-- | gtk-gui.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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); |