From 7e939cb273a8ba2b11c89a7882d80377a2712ea5 Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Fri, 11 Nov 2005 01:30:34 +0000
Subject: [PATCH] issue #5669

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 ChangeLog                      | 2 ++
 include/asterisk/linkedlists.h | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index bd2c879146..66a2dfedc7 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
 
+	* include/asterisk/linkedlists.h (AST_LIST_HEAD_SET_NOLOCK): properly initialize tail pointer when list head is directly set (issue #5669)
+
 	* app.c (ast_app_parse_options): ok, so we aren't all perfect... let's make the while loop actually work properly here (issue #5684)
 
 	* apps/app_disa.c (disa_exec): correct password file parsing (issue #5676)
diff --git a/include/asterisk/linkedlists.h b/include/asterisk/linkedlists.h
index fd2203cd7d..cfe8462254 100755
--- a/include/asterisk/linkedlists.h
+++ b/include/asterisk/linkedlists.h
@@ -138,7 +138,7 @@ struct name {								\
 */
 #define AST_LIST_HEAD_SET(head, entry) do {				\
 	(head)->first = (entry);					\
-	(head)->last = NULL;						\
+	(head)->last = (entry);						\
 	ast_mutex_init(&(head)->lock);					\
 } while (0)
 
@@ -152,7 +152,7 @@ struct name {								\
 */
 #define AST_LIST_HEAD_SET_NOLOCK(head, entry) do {			\
 	(head)->first = (entry);					\
-	(head)->last = NULL;						\
+	(head)->last = (entry);						\
 } while (0)
 
 /*!
-- 
GitLab