]> git.pld-linux.org Git - packages/linphone.git/commitdiff
upstream fix to a use-after-free auto/th/linphone-3.7.0-2
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Tue, 10 Jun 2014 09:22:46 +0000 (11:22 +0200)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Tue, 10 Jun 2014 09:22:46 +0000 (11:22 +0200)
second part of the fix of display name handling in Linphone

Release: 2

displayname_use_after_free.patch [new file with mode: 0644]
linphone.spec

diff --git a/displayname_use_after_free.patch b/displayname_use_after_free.patch
new file mode 100644 (file)
index 0000000..d2f2f17
--- /dev/null
@@ -0,0 +1,46 @@
+commit a32c864292e147b769bc6f2b19735593cf84f41e
+Author: Jehan Monnier <jehan.monnier@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@toto.com");
++      linphone_core_invite(marie->lc,"\"t\x8et\x8e\" sip:toto@toto.com"); /*just to use non ascii values*/
+       for(i=0;i<10;i++){
+               ms_usleep(200000);
+               linphone_core_iterate(marie->lc);
index ef0d11162536eb86a4d38fd2396842ecf07e9b68..242fbbb090d01292539449efe6b724c85bbc3c6d 100644 (file)
@@ -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}
This page took 0.136051 seconds and 4 git commands to generate.