Replace the type-checking COMPTR macro with my current idea of best
[sgt/putty] / unix / gtkwin.c
index e164076..667c72b 100644 (file)
@@ -1361,7 +1361,7 @@ void frontend_keypress(void *handle)
      * any keypress.
      */
     if (inst->exited)
-       exit(0);
+       cleanup_exit(0);
 }
 
 static gint idle_exit_func(gpointer data)
@@ -3307,7 +3307,7 @@ void dup_session_menuitem(GtkMenuItem *item, gpointer gdata)
     }
 
     sprintf(option, "---[%d,%d]", pipefd[0], size);
-    fcntl(pipefd[0], F_SETFD, 0);
+    noncloexec(pipefd[0]);
     fork_and_exec_self(inst, pipefd[1], option, NULL);
     close(pipefd[0]);
 
@@ -3344,7 +3344,6 @@ int read_dupsession_data(struct gui_data *inst, Conf *conf, char *arg)
     }
 
     size_used = conf_deserialise(conf, data, size);
-    sfree(data);
     if (use_pty_argv && size > size_used) {
        int n = 0;
        i = size_used;
@@ -3371,6 +3370,8 @@ int read_dupsession_data(struct gui_data *inst, Conf *conf, char *arg)
        }
     }
 
+    sfree(data);
+
     return 0;
 }