[asterisk-dev] file: branch 1.2 r47711 - /branches/1.2/channels/chan_local.c

Martin Vít vit at lam.cz
Thu Nov 16 03:13:49 MST 2006


There should be the same fix for chan_sip.c in sip_fixup. I've random 
crashes (not often) with version 1.2.7.1.

#0  0xb7f2a7f1 in pthread_mutex_lock () from /lib/tls/libpthread.so.0
#1  0xb6719591 in sip_fixup (oldchan=0x8569788, newchan=0x84e17f8) at 
lock.h:592
#2  0x08064a32 in ast_do_masquerade (original=0x84e17f8) at channel.c:3047
#3  0x080885a8 in ast_async_goto (chan=0x84e18c4, context=0x42 <Address 
0x42 out of bounds>, exten=0x1 <Address 0x1 out of bounds>, priority=1) 
at pbx.c:4580
#4  0x080ada26 in action_redirect (s=0xb4b04708, m=0xb55faab0) at 
manager.c:890
#5  0x080b3464 in process_message (s=0xb4b04708, m=0xb55faab0) at 
manager.c:1305
#6  0x080b204a in session_do (data=0xb4b04708) at manager.c:1401
#7  0xb7f28b63 in start_thread () from /lib/tls/libpthread.so.0
#8  0xb7e2318a in clone () from /lib/tls/libc.so.6


svn-commits at lists.digium.com wrote:
> Author: file
> Date: Wed Nov 15 16:29:30 2006
> New Revision: 47711
>
> URL: http://svn.digium.com/view/asterisk?view=rev&rev=47711
> Log:
> Make sure that the pvt structure exists before trying to do fixup on Local channels. (issue #7937 reported by mada123, fix by alamantia with mods by me)
>
> Modified:
>     branches/1.2/channels/chan_local.c
>
> Modified: branches/1.2/channels/chan_local.c
> URL: http://svn.digium.com/view/asterisk/branches/1.2/channels/chan_local.c?view=diff&rev=47711&r1=47710&r2=47711
> ==============================================================================
> --- branches/1.2/channels/chan_local.c (original)
> +++ branches/1.2/channels/chan_local.c Wed Nov 15 16:29:30 2006
> @@ -263,6 +263,10 @@
>  static int local_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
>  {
>  	struct local_pvt *p = newchan->tech_pvt;
> +
> +	if (!p)
> +		return -1;
> +
>  	ast_mutex_lock(&p->lock);
>  
>  	if ((p->owner != oldchan) && (p->chan != oldchan)) {
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> svn-commits mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/svn-commits
>
>   


-- 
Martin Vít
LAM plus s.r.o.
http://www.vasesit.cz/
mobil: 605 267 610



More information about the asterisk-dev mailing list