[asterisk-bugs] [JIRA] (ASTERISK-25706) Abort asterisk on features reload (handle_hint_change)

Asterisk Team (JIRA) noreply at issues.asterisk.org
Tue Jan 19 08:35:33 CST 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-25706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=229066#comment-229066 ] 

Asterisk Team commented on ASTERISK-25706:
------------------------------------------

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

> Abort asterisk on features reload (handle_hint_change)
> ------------------------------------------------------
>
>                 Key: ASTERISK-25706
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25706
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>    Affects Versions: 11.21.0
>         Environment: Ubuntu
>            Reporter: Krzysztof Trempala
>            Severity: Critical
>
> Asterisk reseting on features reload.
> Logs from core:
> {code}
> #4  0x0816eda4 in handle_hint_change (data=0xb6b1148c) at pbx.c:6099
>         hint = 0xb6b1148c
>         hint_app = 0xb6b4d5d8
>         state = 0
>         presence_state = {provider = 0x82dc264 "", state = 7, subtype = 0x81bc405 "\270", message = 0x0}
> ....
> {code}
> Crash on "ast_free(presence_state.subtype);" in function handle_hint_change(). Variable presence_state.subtype and presence_state.message is no set. Function extension_presence_state_helper() return state = AST_PRESENCE_INVALID.
> Code:
> {code}
> static int handle_hint_change(void *data)
> {
> 	struct ast_hint *hint = data;
> 	struct ast_str *hint_app;
> 	int state;
> 	struct presencechange presence_state;
> 	if (!(hint_app = ast_str_create(1024))) {
> 		return -1;
> 	}
> 	device_state_notify_callbacks(hint, &hint_app);
> 	state = extension_presence_state_helper(
> 		hint->exten, &presence_state.subtype, &presence_state.message);
> 	presence_state.state = state > 0 ? state : AST_PRESENCE_INVALID;
> 	presence_state_notify_callbacks(AST_EVENT_HINT_CHANGE, hint, &hint_app, &presence_state);
> 	ast_free(hint_app);
> 	ao2_ref(hint, -1);
> 	ast_free(presence_state.subtype);  <==== crash here 
> 	ast_free(presence_state.message);
> 	return 0;
> }
> {code} 



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list