Date: Sat, 4 Apr 2009 05:00:47 +0400 (MSD) From: Dmitry Marakasov <amdmi3@amdmi3.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: erik@smluc.org Subject: ports/133354: [PATCH] audio/openal: fix segfault in some cases Message-ID: <20090404010047.C8EA910883C@hades.panopticon> Resent-Message-ID: <200904040110.n341A1tM042682@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 133354 >Category: ports >Synopsis: [PATCH] audio/openal: fix segfault in some cases >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Apr 04 01:10:01 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Dmitry Marakasov >Release: FreeBSD 8.0-CURRENT i386 >Organization: >Environment: System: FreeBSD hades.panopticon 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sat Mar 21 18:50:30 MSK 2009 >Description: When _alFloatMul is called on a very small buffer consisting of <= 2 samples, buffer length will be calculated incorrectly (512MB), which will lead to segfault. The patch fixes this and also improves performance a tiny bit (when buffer is aligned, first 4 samples will now be processed with mmx as they should). Added file(s): - files/patch-src-arch-i386-x86_floatmul.c Port maintainer (erik@smluc.org) is cc'd. Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- openal-20060211_9.patch begins here --- Index: Makefile =================================================================== RCS file: /home/amdmi3/projects/freebsd/FreeBSD.cvs/ports/audio/openal/Makefile,v retrieving revision 1.51 diff -u -u -r1.51 Makefile --- Makefile 17 Mar 2009 00:32:41 -0000 1.51 +++ Makefile 4 Apr 2009 00:55:08 -0000 @@ -7,7 +7,7 @@ PORTNAME= openal PORTVERSION= 20060211 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= audio MASTER_SITES= http://openal.org/openal_webstf/downloads/ DISTVERSION= 0.0.8 Index: files/patch-src-arch-i386-x86_floatmul.c =================================================================== RCS file: files/patch-src-arch-i386-x86_floatmul.c diff -N files/patch-src-arch-i386-x86_floatmul.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-src-arch-i386-x86_floatmul.c 4 Apr 2009 00:53:56 -0000 @@ -0,0 +1,11 @@ +--- src/arch/i386/x86_floatmul.c.orig 2005-12-21 22:06:35.000000000 +0300 ++++ src/arch/i386/x86_floatmul.c 2009-04-04 04:53:56.000000000 +0400 +@@ -46,7 +46,7 @@ + v4hi temp; + + +- samples_pre = MMX_ALIGN - (aint)bpt % MMX_ALIGN; ++ samples_pre = (MMX_ALIGN - (aint)bpt % MMX_ALIGN) % MMX_ALIGN; + samples_pre /= sizeof(ALshort); + samples_main = len - samples_pre; + samples_post = samples_main % 8; --- openal-20060211_9.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090404010047.C8EA910883C>