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/