--- a/libpurple/protocols/silc/buddy.c Tue May 06 18:27:58 2014 +0200 +++ b/libpurple/protocols/silc/buddy.c Wed May 07 11:07:45 2014 +0200 @@ -934,7 +934,6 @@ if (usign_success || ssign_success) { struct passwd *pw; - GStatBuf st; memset(filename2, 0, sizeof(filename2)); @@ -949,14 +948,9 @@ return; /* Create dir if it doesn't exist */ - if ((g_stat(filename, &st)) == -1) { - if (errno == ENOENT) { - if (pw->pw_uid == geteuid()) { - int ret = g_mkdir(filename, 0755); - if (ret < 0) - return; - } - } + if (pw->pw_uid == geteuid()) { + if (g_mkdir(filename, 0755) != 0 && errno != EEXIST) + return; } /* Save VCard */