talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 46063c48ccc0d379e546946563e5047775d62640
parent f933992350613b35e5181fee532f1415e166fefb
Author: Colin Leroy <colin@colino.net>
Date:   Mon, 21 Apr 2014 10:00:55 +0200

Fix bug #3148, "Logic error in claws_get_socket_name()"

Diffstat:
Msrc/main.c | 7+++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main.c b/src/main.c @@ -2137,6 +2137,8 @@ gchar *claws_get_socket_name(void) if (filename == NULL) { struct stat st; + gint stat_ok; + socket_dir = g_strdup_printf("%s%cclaws-mail-%d", g_get_tmp_dir(), G_DIR_SEPARATOR, #if HAVE_GETUID @@ -2144,10 +2146,11 @@ gchar *claws_get_socket_name(void) #else 0); #endif - if (stat(socket_dir, &st) < 0 && errno != ENOENT) { + stat_ok = stat(socket_dir, &st); + if (stat_ok < 0 && errno != ENOENT) { g_print("Error stat'ing socket_dir %s: %s\n", socket_dir, strerror(errno)); - } else if (S_ISSOCK(st.st_mode)) { + } else if (stat_ok == 0 && S_ISSOCK(st.st_mode)) { /* old versions used a sock in $TMPDIR/claws-mail-$UID */ debug_print("Using legacy socket %s\n", socket_dir); filename = g_strdup(socket_dir);