X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/e0af409500d5f44b34a6e8d971f0c7abe1d747fe..a0a9ac13d861355fe2923b5e022d0e89e0b82d97:/src/xsmfns.c diff --git a/src/xsmfns.c b/src/xsmfns.c index 81b012690f..645e19951b 100644 --- a/src/xsmfns.c +++ b/src/xsmfns.c @@ -210,7 +210,7 @@ smc_save_yourself_CB (SmcConn smcConn, props[props_idx]->num_vals = 1; props[props_idx]->vals = &values[val_idx++]; props[props_idx]->vals[0].length = strlen (cwd); - props[props_idx]->vals[0].value = cwd; + props[props_idx]->vals[0].value = xstrdup (cwd); ++props_idx; } @@ -229,7 +229,7 @@ smc_save_yourself_CB (SmcConn smcConn, props[props_idx]->vals[vp_idx].length = strlen (emacs_program); props[props_idx]->vals[vp_idx++].value = emacs_program; - smid_opt = xmalloc (strlen (SMID_OPT) + strlen (client_id) + 1); + smid_opt = xmalloc_atomic (strlen (SMID_OPT) + strlen (client_id) + 1); strcpy (smid_opt, SMID_OPT); strcat (smid_opt, client_id); @@ -241,7 +241,7 @@ smc_save_yourself_CB (SmcConn smcConn, if (cwd) { - chdir_opt = xmalloc (strlen (CHDIR_OPT) + strlen (cwd) + 1); + chdir_opt = xmalloc_atomic (strlen (CHDIR_OPT) + strlen (cwd) + 1); strcpy (chdir_opt, CHDIR_OPT); strcat (chdir_opt, cwd); @@ -261,7 +261,7 @@ smc_save_yourself_CB (SmcConn smcConn, xfree (smid_opt); xfree (chdir_opt); - xfree (cwd); + free (cwd); xfree (vp); for (i = 0; i < props_idx; ++i) @@ -414,7 +414,7 @@ x_session_initialize (struct x_display_info *dpyinfo) /* This malloc will not be freed, but it is only done once, and hopefully not very large */ - emacs_program = xmalloc (name_len + 1); + emacs_program = xmalloc_atomic (name_len + 1); emacs_program[0] = '\0'; if (! EQ (Vinvocation_directory, Qnil))