From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:56977) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPEyN-0008FK-R1 for guix-patches@gnu.org; Thu, 16 Apr 2020 20:35:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPEyM-0004GK-LX for guix-patches@gnu.org; Thu, 16 Apr 2020 20:35:11 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:56339) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jPEyM-0004G2-I3 for guix-patches@gnu.org; Thu, 16 Apr 2020 20:35:10 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jPEyM-0005kV-FM for guix-patches@gnu.org; Thu, 16 Apr 2020 20:35:10 -0400 Subject: [bug#40677] [PATCH 13/30] gnu: pjproject: Add and apply a patch fixing the crash. Resent-Message-ID: From: Jan Wielkiewicz Date: Fri, 17 Apr 2020 02:34:16 +0200 Message-Id: <20200417003433.5608-13-tona_kosmicznego_smiecia@interia.pl> In-Reply-To: <20200417003433.5608-1-tona_kosmicznego_smiecia@interia.pl> References: <20200417003433.5608-1-tona_kosmicznego_smiecia@interia.pl> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 40677@debbugs.gnu.org Cc: Jan Wielkiewicz --- gnu/packages/patches/pjproject-fix.patch | 21 +++++++++++++++++++++ gnu/packages/telephony.scm | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 gnu/packages/patches/pjproject-fix.patch diff --git a/gnu/packages/patches/pjproject-fix.patch b/gnu/packages/patche= s/pjproject-fix.patch new file mode 100644 index 0000000000..8d7e22f965 --- /dev/null +++ b/gnu/packages/patches/pjproject-fix.patch @@ -0,0 +1,21 @@ +--- a/pjsip/src/pjsip-ua/sip_inv.c (revision 6086)=0D ++++ b/pjsip/src/pjsip-ua/sip_inv.c (revision 6087)=0D +@@ -314,10 +314,16 @@=0D + inv->cb_called |=3D (1 << state);=0D + =0D +- /* Call on_state_changed() callback. */=0D ++ /* Call on_state_changed() callback.=0D ++ * While in the callback, can the state shift to DISCONNECTED? Perhap= s=0D ++ * yes, so better avoid premature destroy of the invite session by=0D ++ * temporarily increase its ref counter.=0D ++ */=0D ++ pjsip_inv_add_ref(inv);=0D + if (mod_inv.cb.on_state_changed && inv->notify && !dont_notify)=0D + (*mod_inv.cb.on_state_changed)(inv, e);=0D ++ pjsip_inv_dec_ref(inv);=0D + =0D + /* Only decrement when previous state is not already DISCONNECTED */= =0D +- if (inv->state =3D=3D PJSIP_INV_STATE_DISCONNECTED &&=0D ++ if (state =3D=3D PJSIP_INV_STATE_DISCONNECTED &&=0D + prev_state !=3D PJSIP_INV_STATE_DISCONNECTED) =0D + {=0D diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 62bd8fd548..7ee9bdd9ab 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -655,6 +655,8 @@ calls and messages") (url "https://github.com/pjsip/pjproject.git") (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4"))) (modules '((guix build utils))) + (patches + (search-patches "pjproject-fix.patch")) (snippet '(begin (let ((third-party-directories --=20 2.26.1