Correctly free buffers in netdomjoin-gui.
authorGünther Deschner <gd@samba.org>
Tue, 8 Jan 2008 10:55:45 +0000 (11:55 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 8 Jan 2008 10:59:01 +0000 (11:59 +0100)
Guenther
(This used to be commit 04d78d4d9a8cffe44c927036038aef1d6d6b44b2)

source3/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c

index 1e1681ba37868043276bdd76ddc19f8acf5cdb80..4a3588e9abae1dddf959a1e1fd82d035adcfdb91 100644 (file)
@@ -249,6 +249,8 @@ static void callback_do_reboot(GtkWidget *widget,
                SAFE_FREE(buffer);
                state->name_type_new = type;
 #endif
+               NetApiBufferFree((void *)buffer);
+
                gtk_label_set_text(GTK_LABEL(state->label_current_name_buffer),
                                   state->name_buffer_new);
                if (state->name_type_new == NetSetupDomainName) {
@@ -1292,8 +1294,12 @@ static int initialize_join_state(struct join_state *state,
                if (status) {
                        return status;
                }
-               state->name_buffer_initial = (char *)buffer;
+               state->name_buffer_initial = strdup(buffer);
+               if (!state->name_buffer_initial) {
+                       return -1;
+               }
                state->name_type_initial = type;
+               NetApiBufferFree((void *)buffer);
        }
 
        {
@@ -1311,6 +1317,7 @@ static int initialize_join_state(struct join_state *state,
                if (!state->comment) {
                        return -1;
                }
+               NetApiBufferFree(buffer);
        }
 #if 0
        {