From 936c541361c3b0b7a28b59014e97d0adfb7f7ad8 Mon Sep 17 00:00:00 2001 From: mjentsch Date: Tue, 8 Sep 2015 00:23:18 +0200 Subject: [PATCH] Fix segfault when receiving msg_send_done callback without a message --- tgp-msg.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tgp-msg.c b/tgp-msg.c index 20ea2d4..9db8dbb 100644 --- a/tgp-msg.c +++ b/tgp-msg.c @@ -190,12 +190,16 @@ static void tgp_msg_send_done (struct tgl_state *TLS, void *callback_extra, int if (! success) { char *err = g_strdup_printf("Sending message failed. %d: %s", TLS->error_code, TLS->error); warning (err); - tgp_msg_err_out (TLS, err, M->to_id); + if (M) { + tgp_msg_err_out (TLS, err, M->to_id); + } else { + fatal (err); + } g_free (err); - } else if (tgl_get_peer_type(M->to_id) == TGL_PEER_ENCR_CHAT) { - debug ("SUCCESS write_secret_chat_file ..."); - write_secret_chat_file (TLS); + return; } + + write_files_schedule (TLS); } static gboolean tgp_msg_send_schedule_cb (gpointer data) {