Don't crash if the log file can't be opened.

Found in #1269
This commit is contained in:
Arnavion 2015-01-14 16:29:03 -08:00
parent aab243592f
commit 1d316710ed
1 changed files with 14 additions and 1 deletions

View File

@ -707,7 +707,9 @@ log_write (session *sess, char *text, time_t ts)
}
if (sess->logfd == -1)
{
log_open (sess);
}
/* change to a different log file? */
file = log_create_pathname (sess->server->servername, sess->channel, server_get_network (sess->server, FALSE));
@ -715,12 +717,22 @@ log_write (session *sess, char *text, time_t ts)
{
if (g_access (file, F_OK) != 0)
{
close (sess->logfd);
if (sess->logfd != -1)
{
close (sess->logfd);
}
sess->logfd = log_open_file (sess->server->servername, sess->channel, server_get_network (sess->server, FALSE));
}
g_free (file);
}
if (sess->logfd == -1)
{
return;
}
if (prefs.hex_stamp_log)
{
if (!ts) ts = time(0);
@ -731,6 +743,7 @@ log_write (session *sess, char *text, time_t ts)
g_free (stamp);
}
}
temp = strip_color (text, -1, STRIP_ALL);
len = strlen (temp);
write (sess->logfd, temp, len);