From fb9fa2aa00c65826f51532a0478a6a2704919ca7 Mon Sep 17 00:00:00 2001
From: Jehan Monnier <jehan.monnier@linphone.org>
Date: Mon, 19 Nov 2012 12:22:41 +0100
Subject: [PATCH] fix for lc->last_recv_msg_ids size limit

---
 coreapi/callbacks.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c
index f99c9b2247..134c336abe 100644
--- a/coreapi/callbacks.c
+++ b/coreapi/callbacks.c
@@ -781,19 +781,21 @@ static void refer_received(Sal *sal, SalOp *op, const char *referto){
 
 static bool_t is_duplicate_msg(LinphoneCore *lc, const char *msg_id){
 	MSList *elem=lc->last_recv_msg_ids;
+	MSList *tail=NULL;
 	int i;
 	bool_t is_duplicate=FALSE;
 	for(i=0;elem!=NULL;elem=elem->next,i++){
 		if (strcmp((const char*)elem->data,msg_id)==0){
 			is_duplicate=TRUE;
 		}
+		tail=elem;
 	}
 	if (!is_duplicate){
 		lc->last_recv_msg_ids=ms_list_prepend(lc->last_recv_msg_ids,ms_strdup(msg_id));
 	}
 	if (i>=10){
-		ms_free(elem->data);
-		ms_list_remove_link(lc->last_recv_msg_ids,elem);
+		ms_free(tail->data);
+		lc->last_recv_msg_ids=ms_list_remove_link(lc->last_recv_msg_ids,tail);
 	}
 	return is_duplicate;
 }
-- 
GitLab