diff options
Diffstat (limited to 'camel/camel-tcp-stream-ssl.c')
-rw-r--r-- | camel/camel-tcp-stream-ssl.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/camel/camel-tcp-stream-ssl.c b/camel/camel-tcp-stream-ssl.c index fa0da4041a..bab01e4d4c 100644 --- a/camel/camel-tcp-stream-ssl.c +++ b/camel/camel-tcp-stream-ssl.c @@ -366,16 +366,19 @@ static gboolean ssl_cert_is_saved (const char *certid) { char *filename; - int fd; + struct stat st; + int ret; filename = g_strdup_printf ("%s/.camel_certs/%s", getenv ("HOME"), certid); - fd = open (filename, O_RDONLY); + if (stat (filename, &st) == -1) { + g_free (filename); + return FALSE; + } + g_free (filename); - if (fd != -1) - close (fd); - return fd != -1; + return st.st_uid == getuid (); } static SECStatus |