[packages/linphone] upstream fix to a use-after-free
jajcus
jajcus at pld-linux.org
Tue Jun 10 11:23:27 CEST 2014
commit 1efea340a379d8787133746ba2513c34b0160ded
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date: Tue Jun 10 11:22:46 2014 +0200
upstream fix to a use-after-free
second part of the fix of display name handling in Linphone
Release: 2
displayname_use_after_free.patch | 46 ++++++++++++++++++++++++++++++++++++++++
linphone.spec | 4 +++-
2 files changed, 49 insertions(+), 1 deletion(-)
---
diff --git a/linphone.spec b/linphone.spec
index ef0d111..242fbbb 100644
--- a/linphone.spec
+++ b/linphone.spec
@@ -17,13 +17,14 @@ Summary: Linphone Internet Phone
Summary(pl.UTF-8): Linphone - telefon internetowy
Name: linphone
Version: 3.7.0
-Release: 1
+Release: 2
License: GPL v2+
Group: Applications/Communications
Source0: http://download-mirror.savannah.gnu.org/releases/linphone/3.7.x/sources/%{name}-%{version}.tar.gz
# Source0-md5: 6978492712bdacd452e375254d6033ae
Patch0: %{name}-imgdir.patch
Patch1: %{name}-sh.patch
+Patch2: displayname_use_after_free.patch
URL: http://www.linphone.org/
BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: autoconf >= 2.50
@@ -187,6 +188,7 @@ find '(' -name '*.c' -o -name '*.h' ')' -print0 | xargs -0 %{__sed} -i -e 's,\r$
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build
%{__libtoolize}
diff --git a/displayname_use_after_free.patch b/displayname_use_after_free.patch
new file mode 100644
index 0000000..d2f2f17
--- /dev/null
+++ b/displayname_use_after_free.patch
@@ -0,0 +1,46 @@
+commit a32c864292e147b769bc6f2b19735593cf84f41e
+Author: Jehan Monnier <jehan.monnier at linphone.org>
+Date: Mon Apr 14 16:28:57 2014 +0200
+
+ fix invalid read in gtk app call log management
+
+diff --git a/gtk/calllogs.c b/gtk/calllogs.c
+index 2f7e8f7..7a4840a 100644
+--- a/gtk/calllogs.c
++++ b/gtk/calllogs.c
+@@ -293,7 +293,10 @@ void linphone_gtk_call_log_update(GtkWidget *w){
+ #endif
+ lf=linphone_core_get_friend_by_address(linphone_gtk_get_core(),addr);
+ if(lf != NULL){
+- display=linphone_address_get_display_name(linphone_friend_get_address(lf));
++ if ((display=linphone_address_get_display_name(linphone_friend_get_address(lf)))) {
++ /*update display name from friend*/
++ linphone_address_set_display_name(la,display);
++ }
+ } else {
+ display=linphone_address_get_display_name(la);
+ }
+@@ -302,9 +305,8 @@ void linphone_gtk_call_log_update(GtkWidget *w){
+ if (display==NULL){
+ display=linphone_address_get_domain (la);
+ }
+- } else {
+- linphone_address_set_display_name(la,display);
+ }
++
+ if (linphone_call_log_get_quality(cl)!=-1){
+ snprintf(quality,sizeof(quality),"%.1f",linphone_call_log_get_quality(cl));
+ }else snprintf(quality,sizeof(quality)-1,"%s",_("n/a"));
+diff --git a/tester/call_tester.c b/tester/call_tester.c
+index 2a18b30..c655e4b 100644
+--- a/tester/call_tester.c
++++ b/tester/call_tester.c
+@@ -355,7 +355,7 @@ static void call_with_dns_time_out(void) {
+ linphone_core_set_sip_transports(marie->lc,&transport);
+ linphone_core_iterate(marie->lc);
+ sal_set_dns_timeout(marie->lc->sal,0);
+- linphone_core_invite(marie->lc,"sip:toto at toto.com");
++ linphone_core_invite(marie->lc,"\"t\x8et\x8e\" sip:toto at toto.com"); /*just to use non ascii values*/
+ for(i=0;i<10;i++){
+ ms_usleep(200000);
+ linphone_core_iterate(marie->lc);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/linphone.git/commitdiff/1efea340a379d8787133746ba2513c34b0160ded
More information about the pld-cvs-commit
mailing list