[oe-commits] org.oe.dev gnome-mplayer: Fix segfaults decoding non-utf8 tags in media.

pfalcon commit openembedded-commits at lists.openembedded.org
Sat Jan 5 10:48:29 UTC 2008


gnome-mplayer: Fix segfaults decoding non-utf8 tags in media.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 153dd9902a8fbbcd4a4140f991a8e938f1af29f5
ViewMTN: http://monotone.openembedded.org/revision/info/153dd9902a8fbbcd4a4140f991a8e938f1af29f5
Files:
1
packages/gnome-mplayer/files/non-utf8-id3-fallback.patch
packages/gnome-mplayer/files/uchar-for-utf8-check.patch
packages/gnome-mplayer/gnome-mplayer_0.5.3.bb
packages/gnome-mplayer/gnome-mplayer_cvs.bb
Diffs:

#
# mt diff -ra2818f1550453ee1fc66feab80ad658cd87d2948 -r153dd9902a8fbbcd4a4140f991a8e938f1af29f5
#
# 
# 
# add_file "packages/gnome-mplayer/files/non-utf8-id3-fallback.patch"
#  content [be331e8a429578785b64fac01b7c17b2d423d0ad]
# 
# add_file "packages/gnome-mplayer/files/uchar-for-utf8-check.patch"
#  content [dd50b5684926b93e6f64361f6b3a9a63a3ee7d30]
# 
# patch "packages/gnome-mplayer/gnome-mplayer_0.5.3.bb"
#  from [b00f87db280275a3091590e1be9b6b2521f36643]
#    to [39e57ed5f730fc922e3312502b843219942d12cf]
# 
# patch "packages/gnome-mplayer/gnome-mplayer_cvs.bb"
#  from [f29e0cf247b2a273218db171e5ce4b72187cc304]
#    to [c34de96207774639cc00196181f1fb56aadbf586]
# 
============================================================
--- packages/gnome-mplayer/files/non-utf8-id3-fallback.patch	be331e8a429578785b64fac01b7c17b2d423d0ad
+++ packages/gnome-mplayer/files/non-utf8-id3-fallback.patch	be331e8a429578785b64fac01b7c17b2d423d0ad
@@ -0,0 +1,22 @@
+I found that on ARM/glibc 2.5/glib 2.12.something test in strip_unicode() doesn't
+really catch invalid utf-8 chars. Also, let's tell user where problem lies straight.
+
+Paul Sokolovsky <pmiscml at gmail.com>
+--- a/src/thread.c.org	2007-12-24 00:10:15.000000000 +0200
++++ a/src/thread.c	2008-01-04 22:04:30.000000000 +0200
+@@ -349,13 +349,11 @@
+ 					//g_idle_add(set_media_info, idledata);
+ 					utf8name = g_locale_to_utf8(parse[name],-1, NULL, NULL,NULL);
+ 					if (utf8name == NULL) {
+-						strip_unicode(parse[name],strlen(parse[name]));
+-						utf8name = g_strdup(parse[name]);
++						utf8name = g_strdup("<cannot convert to utf-8>");
+ 					}
+ 					utf8artist = g_locale_to_utf8(parse[artist],-1, NULL, NULL,NULL);
+ 					if (utf8artist == NULL) {
+-						strip_unicode(parse[artist],strlen(parse[artist]));
+-						utf8artist = g_strdup(parse[artist]);
++						utf8artist = g_strdup("<cannot convert to utf-8>");
+ 					}
+ 					
+ 					message = g_markup_printf_escaped(_("<small>\n<b>Title:</b>\t%s\n<b>Artist:</b>\t%s\n<b>File:</b>\t%s\n</small>"),utf8name,utf8artist,idledata->info);
============================================================
--- packages/gnome-mplayer/files/uchar-for-utf8-check.patch	dd50b5684926b93e6f64361f6b3a9a63a3ee7d30
+++ packages/gnome-mplayer/files/uchar-for-utf8-check.patch	dd50b5684926b93e6f64361f6b3a9a63a3ee7d30
@@ -0,0 +1,22 @@
+--- a/src/support.c.org	2007-12-18 20:39:09.000000000 +0200
++++ a/src/support.c	2008-01-04 22:12:32.000000000 +0200
+@@ -24,7 +24,7 @@
+ 
+ #include "support.h"
+ 
+-void strip_unicode(gchar * data, gsize len)
++void strip_unicode(guchar * data, gsize len)
+ {
+     gsize i = 0;
+ 
+--- a/src/support.h.org	2007-12-17 18:21:46.000000000 +0200
++++ a/src/support.h	2008-01-04 22:24:15.000000000 +0200
+@@ -31,7 +31,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ 
+-void strip_unicode(gchar * data, gsize len);
++void strip_unicode(guchar * data, gsize len);
+ gint play_file(gchar * filename, gint playlist);
+ gint detect_playlist(gchar * filename);
+ gint parse_playlist(gchar * filename);
============================================================
--- packages/gnome-mplayer/gnome-mplayer_0.5.3.bb	b00f87db280275a3091590e1be9b6b2521f36643
+++ packages/gnome-mplayer/gnome-mplayer_0.5.3.bb	39e57ed5f730fc922e3312502b843219942d12cf
@@ -1,12 +1,14 @@ RDEPENDS = "mplayer"
 DESCRIPTION = "Simple MPlayer frontend with lite Gnome integration"
 HOMEPAGE = "http://dekorte.homeip.net/download/gnome-mplayer/"
 LICENSE = "GPL"
 DEPENDS = "gtk+ gconf dbus-glib"
 RDEPENDS = "mplayer"
-PR = "r2"
+PR = "r3"
 
 inherit autotools pkgconfig gconf
 
 SRC_URI = "http://dekorte.homeip.net/download/${PN}/${P}.tar.gz \
     file://ac-gthread.patch;patch=1 \
+    file://1.patch;patch=1 \
+    file://uchar-for-utf8-check.patch;patch=1 \
+    file://non-utf8-id3-fallback.patch;patch=1"
-    file://1.patch;patch=1" 
============================================================
--- packages/gnome-mplayer/gnome-mplayer_cvs.bb	f29e0cf247b2a273218db171e5ce4b72187cc304
+++ packages/gnome-mplayer/gnome-mplayer_cvs.bb	c34de96207774639cc00196181f1fb56aadbf586
@@ -5,7 +5,7 @@ PV = "0.5.3+cvs${SRCDATE}"
 RDEPENDS = "mplayer"
 SRCDATE = "20080101"
 PV = "0.5.3+cvs${SRCDATE}"
-PR = "r2"
+PR = "r3"
 
 inherit autotools pkgconfig gconf
 
@@ -13,4 +13,6 @@ SRC_URI = "cvs://anonymous@dekorte.homei
 
 SRC_URI = "cvs://anonymous@dekorte.homeip.net/data/cvs;module=${PN} \
     file://ac-gthread.patch;patch=1 \
+    file://1.patch;patch=1 \
+    file://uchar-for-utf8-check.patch;patch=1 \
+    file://non-utf8-id3-fallback.patch;patch=1"
-    file://1.patch;patch=1"






More information about the Openembedded-commits mailing list