From 246a514e88ced10b19a3e11e65f5ee228504aa20 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Wed, 2 Apr 2014 18:57:11 -0400 Subject: [PATCH] fix possible segfault --- src/groupchat.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/groupchat.c b/src/groupchat.c index 55a5f17..4d24182 100644 --- a/src/groupchat.c +++ b/src/groupchat.c @@ -312,9 +312,12 @@ static void groupchat_onGroupNamelistChange(ToxWindow *self, Tox *m, int groupnu /* get current peername then sort namelist */ uint8_t peername[TOX_MAX_NAME_LENGTH]; - uint16_t n_len = groupchats[groupnum].peer_name_lengths[peernum]; - memcpy(peername, &groupchats[groupnum].peer_names[peernum*TOX_MAX_NAME_LENGTH], sizeof(peername)); - peername[n_len] = '\0'; + + if (change != TOX_CHAT_CHANGE_PEER_DEL) { + uint16_t n_len = groupchats[groupnum].peer_name_lengths[peernum]; + memcpy(peername, &groupchats[groupnum].peer_names[peernum*TOX_MAX_NAME_LENGTH], sizeof(peername)); + peername[n_len] = '\0'; + } qsort(groupchats[groupnum].peer_names, groupchats[groupnum].num_peers, TOX_MAX_NAME_LENGTH, qsort_strcasecmp_hlpr);