From 7b4db45cb7aaa9c9569d8e7e7804ee28a805b8f4 Mon Sep 17 00:00:00 2001 From: Kevin Harwell Date: Wed, 17 Aug 2016 16:40:49 -0500 Subject: [PATCH] pbx.c: Crash in handle_hint_change due to uninitialized values handle_hint_change calls extension_presence_state_helper, which returns the presence state subtype and message when a valid state is available. If the state is invalid then those values are not filled. If they have not been properly initialized to NULL then when ast_free is later called on them Asterisk crashes. This patch initializes the subtype and message to NULL. ASTERISK-25706 #close patches: 0008-handle_hint_change-initialize-presence_state.patch submitted by Tzafrir Cohen (license 5035) Change-Id: I2eb08c68951b327c42df0798de60484c3a225a50 --- main/pbx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main/pbx.c b/main/pbx.c index 41094c5d64..daf2e437c5 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -6151,6 +6151,8 @@ static int handle_hint_change(void *data) device_state_notify_callbacks(hint, &hint_app); + memset(&presence_state, 0, sizeof(presence_state)); + state = extension_presence_state_helper( hint->exten, &presence_state.subtype, &presence_state.message); -- 2.47.2