emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 9bdd1c4 1/2: * src/xsmfns.c (x_session_initialize):


From: Glenn Morris
Subject: [Emacs-diffs] master 9bdd1c4 1/2: * src/xsmfns.c (x_session_initialize): Avoid libSM crash
Date: Sat, 13 Jun 2015 23:42:09 +0000

branch: master
commit 9bdd1c4c90bc19904f63361c32ebd4304f038aaf
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    * src/xsmfns.c (x_session_initialize): Avoid libSM crash
    
    when starup directory is missing.  (Bug#18851)
    (errno.h): Include it.
---
 src/xsmfns.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/xsmfns.c b/src/xsmfns.c
index 48aaa9b..3b06f71 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -28,6 +28,7 @@ along with GNU Emacs.  If not, see 
<http://www.gnu.org/licenses/>.  */
 
 #include <unistd.h>
 #include <sys/param.h>
+#include <errno.h>
 #include <stdio.h>
 
 #include "lisp.h"
@@ -402,6 +403,14 @@ x_session_initialize (struct x_display_info *dpyinfo)
   SmcCallbacks callbacks;
   ptrdiff_t name_len = 0;
 
+  /* libSM seems to crash if pwd is missing - see bug#18851.  */
+  if (! get_current_dir_name ())
+    {
+      fprintf (stderr, "Disabling session management due to pwd error: %s\n",
+               emacs_strerror (errno));
+      return;
+    }
+
   ice_fd = -1;
   doing_interact = false;
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]