[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master be5e934: Don't send bad SM messages.
From: |
Jan D. |
Subject: |
[Emacs-diffs] master be5e934: Don't send bad SM messages. |
Date: |
Sat, 28 Mar 2015 11:33:40 +0000 |
branch: master
commit be5e9348dc137d06655676e686f153cf33de4f28
Author: Jan D <address@hidden>
Commit: Jan D <address@hidden>
Don't send bad SM messages.
* xsmfns.c (smc_save_yourself_CB): Return if Vinvocation_name or
user_login_name are not strings.
---
src/ChangeLog | 5 +++++
src/xsmfns.c | 46 ++++++++++++++++++++++------------------------
2 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 0cc0a42..7874910 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-28 Jan Djärv <address@hidden>
+
+ * xsmfns.c (smc_save_yourself_CB): Return if Vinvocation_name or
+ user_login_name are not strings.
+
2015-03-28 Eli Zaretskii <address@hidden>
* w32.c (sys_connect): Fix a mistake in previous commit that broke
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 375b51c..48aaa9b 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -169,6 +169,11 @@ smc_save_yourself_CB (SmcConn smcConn,
int props_idx = 0;
int i;
char *smid_opt, *chdir_opt = NULL;
+ Lisp_Object user_login_name = Fuser_login_name (Qnil);
+
+ // Must have these.
+ if (! STRINGP (Vinvocation_name) || ! STRINGP (user_login_name))
+ return;
/* How to start a new instance of Emacs. */
props[props_idx] = &prop_ptr[props_idx];
@@ -180,32 +185,25 @@ smc_save_yourself_CB (SmcConn smcConn,
props[props_idx]->vals[0].value = emacs_program;
++props_idx;
- if (STRINGP (Vinvocation_name))
- {
- /* The name of the program. */
- props[props_idx] = &prop_ptr[props_idx];
- props[props_idx]->name = xstrdup (SmProgram);
- props[props_idx]->type = xstrdup (SmARRAY8);
- props[props_idx]->num_vals = 1;
- props[props_idx]->vals = &values[val_idx++];
- props[props_idx]->vals[0].length = SBYTES (Vinvocation_name);
- props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
- ++props_idx;
- }
+ /* The name of the program. */
+ props[props_idx] = &prop_ptr[props_idx];
+ props[props_idx]->name = xstrdup (SmProgram);
+ props[props_idx]->type = xstrdup (SmARRAY8);
+ props[props_idx]->num_vals = 1;
+ props[props_idx]->vals = &values[val_idx++];
+ props[props_idx]->vals[0].length = SBYTES (Vinvocation_name);
+ props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
+ ++props_idx;
/* User id. */
- Lisp_Object user_login_name = Fuser_login_name (Qnil);
- if (STRINGP (user_login_name))
- {
- props[props_idx] = &prop_ptr[props_idx];
- props[props_idx]->name = xstrdup (SmUserID);
- props[props_idx]->type = xstrdup (SmARRAY8);
- props[props_idx]->num_vals = 1;
- props[props_idx]->vals = &values[val_idx++];
- props[props_idx]->vals[0].length = SBYTES (user_login_name);
- props[props_idx]->vals[0].value = SDATA (user_login_name);
- ++props_idx;
- }
+ props[props_idx] = &prop_ptr[props_idx];
+ props[props_idx]->name = xstrdup (SmUserID);
+ props[props_idx]->type = xstrdup (SmARRAY8);
+ props[props_idx]->num_vals = 1;
+ props[props_idx]->vals = &values[val_idx++];
+ props[props_idx]->vals[0].length = SBYTES (user_login_name);
+ props[props_idx]->vals[0].value = SDATA (user_login_name);
+ ++props_idx;
char *cwd = get_current_dir_name ();
if (cwd)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master be5e934: Don't send bad SM messages.,
Jan D. <=