ogg123 crash

Paul de Weerd <[email protected]>
Newsgroups gmane.comp.multimedia.ogg.vorbis.general
Message-ID <[email protected]>
Hi,

I already mentioned this on #vorbis, but thought it good to create a
mailthread on it for easier tracking.

One of the OpenBSD developers ([email protected]) found that ogg123
crashes on his machine with a SIGSEGV while playing tracks with
unknown comments in the tags. He's running with special malloc flags
that make the OpenBSD malloc(3) extra picky (manpage available online
at http://www.openbsd.org/cgi-bin/man.cgi?query=malloc.conf - Claudio
was using MALLOC_OPTIONS=FGJ) These options quite often uncover malloc
related bugs and are a useful asset when developing code on OpenBSD.

As it turns out, there is a bug in ogg123s use of strcspn(3) - it
should never return 0 unless the '='-sign is the first character
(quite unlikely). Claudio proposed a patch for our portstree to fix
this issue, can someone have a look at the patch to ogg123's
vorbis_comments.c (below) and add this fix to the vorbis-tools
codebase ?

I have sample OGG files giving this behaviour available upon request
(for debugging purposes only), if needed.

Thanks,

Paul 'WEiRD' de Weerd

----- Forwarded message from Claudio Jeker -----

So ogg123 crashes when unknown comments are in the tags.

Before:
Ogg Vorbis stream: 2 channel, 44100 Hz
Track is encoded with cdex vorbis dll: ##########################
Title: The Fantabulous Rap Extravaganza

After:
Ogg Vorbis stream: 2 channel, 44100 Hz
Comment: Track is encoded with CDex Vorbis DLL
Title: Virus

the vorbis tools don't understand how strcspn() works.
-- 
:wq Claudio

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/vorbis-tools/Makefile,v
retrieving revision 1.35
diff -u -p -r1.35 Makefile
--- Makefile	11 May 2008 22:17:28 -0000	1.35
+++ Makefile	8 Jul 2009 16:51:36 -0000
@@ -3,7 +3,7 @@
 COMMENT=	play, encode, and manage Ogg Vorbis files
 
 DISTNAME=	vorbis-tools-1.2.0
-PKGNAME=	${DISTNAME}p0
+PKGNAME=	${DISTNAME}p1
 CATEGORIES=    	audio
 HOMEPAGE=	http://www.vorbis.com/
 
Index: patches/patch-ogg123_vorbis_comments_c
===================================================================
RCS file: patches/patch-ogg123_vorbis_comments_c
diff -N patches/patch-ogg123_vorbis_comments_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-ogg123_vorbis_comments_c	8 Jul 2009 16:47:36 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- ogg123/vorbis_comments.c.orig	Wed Jul  8 18:44:47 2009
++++ ogg123/vorbis_comments.c	Wed Jul  8 18:45:13 2009
+@@ -72,7 +72,7 @@ char *lookup_comment_prettyprint (char *comment, int *
+ 
+   /* Use default formatting */
+   j = strcspn(comment, "=");
+-  if (j) {
++  if (j != strlen(comment)) {
+     *offset = j + 1;
+     s = malloc(j + 2);
+     if (s == NULL) {

----- End forwarded message -----

-- 
>++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
+++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
                 http://www.weirdnet.nl/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.