]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix compiler thinking tmpdir may be unitialised in emacsclient
authorMichal Nazarewicz <mina86@mina86.com>
Mon, 12 Sep 2016 19:31:15 +0000 (21:31 +0200)
committerMichal Nazarewicz <mina86@mina86.com>
Mon, 12 Sep 2016 19:57:36 +0000 (21:57 +0200)
This fixes the following warning:

emacsclient.c: In function ‘set_local_socket’:
/usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
‘tmpdir’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
   return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
   ^
emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
     const char *tmpdir;

* lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
variable and instead use tmpdir being non-NULL as sign that it should
be used.

lib-src/emacsclient.c

index 1991aaa9c02147344785104b19148bd5aaf16f82..458519d25fd53585e4b3a70a16b38b6db60da71a 100644 (file)
@@ -1191,10 +1191,9 @@ set_local_socket (const char *local_socket_name)
 
   {
     int sock_status;
-    int use_tmpdir = 0;
     int saved_errno;
     const char *server_name = local_socket_name;
-    const char *tmpdir;
+    const char *tmpdir = NULL;
     char *tmpdir_storage = NULL;
     char *socket_name_storage = NULL;
 
@@ -1202,7 +1201,6 @@ set_local_socket (const char *local_socket_name)
       {
        /* socket_name is a file name component.  */
        long uid = geteuid ();
-       use_tmpdir = 1;
        tmpdir = egetenv ("TMPDIR");
        if (!tmpdir)
           {
@@ -1240,7 +1238,7 @@ set_local_socket (const char *local_socket_name)
     /* See if the socket exists, and if it's owned by us. */
     sock_status = socket_status (server.sun_path);
     saved_errno = errno;
-    if (sock_status && use_tmpdir)
+    if (sock_status && tmpdir)
       {
        /* Failing that, see if LOGNAME or USER exist and differ from
           our euid.  If so, look for a socket based on the UID