Skip site navigation (1)Skip section navigation (2)
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>