[SM-Commit] GIT changes to master grimoire by Vlad Glagolev (1743a1b4f2ae24743dc8216b73f1dd336c50c83b)

Vlad Glagolev scm at sourcemage.org
Fri Oct 24 20:48:21 EDT 2008


GIT changes to master grimoire by Vlad Glagolev <stealth at sourcemage.org>:

 audio-libs/libsndfile/BUILD                      |    6 +++
 audio-libs/libsndfile/CONFIGURE                  |    8 +---
 audio-libs/libsndfile/DEPENDS                    |   28 ++++++++--------
 audio-libs/libsndfile/DETAILS                    |   10 +++---
 audio-libs/libsndfile/HISTORY                    |   10 +++++-
 audio-libs/libsndfile/PRE_BUILD                  |   14 ++++----
 audio-libs/libsndfile/acinclude.patch            |    5 +--
 audio-libs/libsndfile/flac-1.1.4.patch           |   20 ++----------
 audio-libs/libsndfile/flac-buffer-overflow.patch |   38 +++++++++++++++++++++++
 9 files changed, 87 insertions(+), 52 deletions(-)

New commits:
commit 1743a1b4f2ae24743dc8216b73f1dd336c50c83b
Author: Vlad Glagolev <stealth at sourcemage.org>
Commit: Vlad Glagolev <stealth at sourcemage.org>

    libsndfile: added patch to fix buffer overflow for flac; globally cleaned up the spell

diff --git a/audio-libs/libsndfile/BUILD b/audio-libs/libsndfile/BUILD
index fcee2a5..48f8f69 100755
--- a/audio-libs/libsndfile/BUILD
+++ b/audio-libs/libsndfile/BUILD
@@ -1 +1,5 @@
-OPTS="--disable-dependency-tracking $SND_LARGEFILE $OPTS"  default_build
+OPTS="--disable-dependency-tracking $LIBSNDFILE_LARGEFILE $OPTS" &&
+
+autoreconf &&
+
+default_build
diff --git a/audio-libs/libsndfile/CONFIGURE b/audio-libs/libsndfile/CONFIGURE
index 27b4e47..fc84fa1 100755
--- a/audio-libs/libsndfile/CONFIGURE
+++ b/audio-libs/libsndfile/CONFIGURE
@@ -1,5 +1,3 @@
-config_query_option  SND_LARGEFILE                      \
-                     "Enable support for large files?"  \
-                     y                                  \
-                     "--enable-largefile"               \
-                     "--disable-largefile"
+config_query_option LIBSNDFILE_LARGEFILE "Enable support for large files?" y \
+                    "--enable-largefile" \
+                    "--disable-largefile"
diff --git a/audio-libs/libsndfile/DEPENDS b/audio-libs/libsndfile/DEPENDS
index 0a49418..16ade58 100755
--- a/audio-libs/libsndfile/DEPENDS
+++ b/audio-libs/libsndfile/DEPENDS
@@ -1,17 +1,17 @@
-depends  pkgconfig  &&
-depends  libtool    &&
+depends pkgconfig &&
+depends libtool &&
 
-optional_depends  alsa-lib                   \
-                  "--enable-alsa"            \
-                  "--disable-alsa"           \
-                  "for ALSA driver support"  &&
+optional_depends alsa-lib \
+                 "--enable-alsa" \
+                 "--disable-alsa" \
+                 "for ALSA driver support" &&
 
-optional_depends  flac                     \
-                  "--enable-flac"          \
-                  "--disable-flac"         \
-                  "for FLAC file support"  &&
+optional_depends flac \
+                 "--enable-flac" \
+                 "--disable-flac" \
+                 "for FLAC file support" &&
 
-optional_depends  sqlite              \
-                  "--enable-sqlite"   \
-                  "--disable-sqlite"  \
-                  "for SQLite database support"
+optional_depends sqlite \
+                 "--enable-sqlite" \
+                 "--disable-sqlite" \
+                 "for SQLite database support"
diff --git a/audio-libs/libsndfile/DETAILS b/audio-libs/libsndfile/DETAILS
index 4ce53bb..97c7d33 100755
--- a/audio-libs/libsndfile/DETAILS
+++ b/audio-libs/libsndfile/DETAILS
@@ -5,15 +5,15 @@
 SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
       SOURCE_URL=http://www.mega-nerd.com/libsndfile/$SOURCE
      SOURCE2_URL=$SOURCE_URL.asc
-      SOURCE_GPG="$SPELL.gpg:$SOURCE2:UPSTREAM_KEY"
+      SOURCE_GPG=$SPELL.gpg:$SOURCE2:UPSTREAM_KEY
   SOURCE2_IGNORE=signature
         WEB_SITE=http://www.mega-nerd.com/libsndfile/
          ENTERED=20020517
       LICENSE[0]=LGPL
         KEYWORDS="audio libs"
-           SHORT="C library for reading and writing sound files."
+           SHORT="C library for reading and writing sound files"
 cat << EOF
-Libsndfile is a C library for reading and writing files containing sampled
-sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one
-standard library interface.
+Libsndfile is a C library for reading and writing files containing sampled sound
+(such as MS Windows WAV and the Apple/SGI AIFF format) through one standard
+library interface.
 EOF
diff --git a/audio-libs/libsndfile/HISTORY b/audio-libs/libsndfile/HISTORY
index 991651d..329ef2e 100644
--- a/audio-libs/libsndfile/HISTORY
+++ b/audio-libs/libsndfile/HISTORY
@@ -1,3 +1,12 @@
+2008-10-25 Vlad Glagolev <stealth at sourcemage.org>
+	* CONFIGURE: well-formed var; cleaned up
+	* BUILD: run autoreconf to prevent double configuring; cleaned up
+	* DEPENDS: added autoconf; cleaned up
+	* PRE_BUILD: SPELL > SCRIPT; cleaned up
+	* DETAILS: fixed descs; cleaned up
+	* acinclude.patch, flac-1.1.4.patch: p0
+	* flac-buffer-overflow.patch: added
+
 2008-04-13 Eric Sandall <sandalle at sourcemage.org>
 	* PRE_BUILD: Apply acinclude.patch if applying flac-1.1.4.patch
 	* acinlcude.patch: flac-1.1.4.patch modifies configure.ac which
@@ -72,4 +81,3 @@
 
 2002-06-12 Unet <unet at sourcemage.org>
 	* Created this.
-
diff --git a/audio-libs/libsndfile/PRE_BUILD b/audio-libs/libsndfile/PRE_BUILD
index 7c805e2..ca8d0dd 100755
--- a/audio-libs/libsndfile/PRE_BUILD
+++ b/audio-libs/libsndfile/PRE_BUILD
@@ -1,9 +1,9 @@
-default_pre_build        &&
-cd  "$SOURCE_DIRECTORY"  &&
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
 
-# Fix linking against flac >= 1.1.4
-if  is_depends_enabled  $SPELL  flac
-then
-  patch -p1  <  "$SCRIPT_DIRECTORY/flac-1.1.4.patch"  &&
-  patch -p1  <  $SCRIPT_DIRECTORY/acinclude.patch
+# fix linking against flac >= 1.1.4 and buffer overflow (1.0.17)
+if is_depends_enabled $SPELL flac; then
+  patch -p0 < "$SPELL_DIRECTORY/acinclude.patch" &&
+  patch -p0 < "$SPELL_DIRECTORY/flac-1.1.4.patch" &&
+  patch -p0 < "$SPELL_DIRECTORY/flac-buffer-overflow.patch"
 fi
diff --git a/audio-libs/libsndfile/acinclude.patch b/audio-libs/libsndfile/acinclude.patch
index b76da94..7e3b0a8 100644
--- a/audio-libs/libsndfile/acinclude.patch
+++ b/audio-libs/libsndfile/acinclude.patch
@@ -1,6 +1,5 @@
-diff -Naur libsndfile-1.0.17.orig/acinclude.m4 libsndfile-1.0.17/acinclude.m4
---- libsndfile-1.0.17.orig/acinclude.m4	2008-04-13 10:18:59.000000000 +0000
-+++ libsndfile-1.0.17/acinclude.m4	2008-04-13 10:19:09.000000000 +0000
+--- acinclude.m4.orig	2008-04-13 10:18:59.000000000 +0000
++++ acinclude.m4	2008-04-13 10:19:09.000000000 +0000
 @@ -265,13 +265,7 @@
  else
  	ac_cv_c_big_endian=0
diff --git a/audio-libs/libsndfile/flac-1.1.4.patch b/audio-libs/libsndfile/flac-1.1.4.patch
index 9ddcdf7..e519f11 100644
--- a/audio-libs/libsndfile/flac-1.1.4.patch
+++ b/audio-libs/libsndfile/flac-1.1.4.patch
@@ -1,16 +1,5 @@
-Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
-Date:                    2007-07-19
-Initial Package Version: 1.0.17
-Upstream Status:         Unknown
-Origin:                  Many of the Distro's use it
-Description:             Fixes compilation problems when linking with FLAC-1.1.4
-
-$Id: libsndfile-1.0.17-flac-1.patch 1850 2007-07-19 11:00:22Z randy $
-
-
-diff -ru libsndfile-1.0.17/configure.ac libsndfile-1.0.17-b2/configure.ac
---- libsndfile-1.0.17/configure.ac	2006-08-31 02:39:37.000000000 -0700
-+++ libsndfile-1.0.17-b2/configure.ac	2006-10-27 08:54:45.000000000 -0700
+--- configure.ac.orig	2006-08-31 02:39:37.000000000 -0700
++++ configure.ac	2006-10-27 08:54:45.000000000 -0700
 @@ -339,7 +339,8 @@
  		if test "x$HAVE_FLAC_1_1_1" = xyes ; then
  			AC_DEFINE(HAVE_FLAC_1_1_1, [1], [Define to 1 if you have libflac 1.1.1])
@@ -21,9 +10,8 @@ diff -ru libsndfile-1.0.17/configure.ac libsndfile-1.0.17-b2/configure.ac
  		fi
  	fi
  
-diff -ru libsndfile-1.0.17/src/flac.c libsndfile-1.0.17-b2/src/flac.c
---- libsndfile-1.0.17/src/flac.c	2006-08-31 02:22:19.000000000 -0700
-+++ libsndfile-1.0.17-b2/src/flac.c	2006-10-27 08:47:36.000000000 -0700
+--- src/flac.c.orig	2006-08-31 02:22:19.000000000 -0700
++++ src/flac.c	2006-10-27 08:47:36.000000000 -0700
 @@ -46,6 +46,13 @@
  #include	"sfendian.h"
  #include	"float_cast.h"
diff --git a/audio-libs/libsndfile/flac-buffer-overflow.patch b/audio-libs/libsndfile/flac-buffer-overflow.patch
new file mode 100644
index 0000000..2d38d54
--- /dev/null
+++ b/audio-libs/libsndfile/flac-buffer-overflow.patch
@@ -0,0 +1,38 @@
+--- src/flac.c.orig
++++ src/flac.c
+@@ -57,7 +57,7 @@ flac_open (SF_PRIVATE *psf)
+ ** Private static functions.
+ */
+ 
+-#define ENC_BUFFER_SIZE 4096
++#define ENC_BUFFER_SIZE 8192
+ 
+ typedef enum
+ {	PFLAC_PCM_SHORT = 0,
+@@ -202,6 +202,17 @@ flac_buffer_copy (SF_PRIVATE *psf)
+ 	const FLAC__int32* const *buffer = pflac->wbuffer ;
+ 	unsigned i = 0, j, offset ;
+ 
++	/*
++	**	frame->header.blocksize is variable and we're using a constant blocksize
++	**	of FLAC__MAX_BLOCK_SIZE.
++	**	Check our assumptions here.
++	*/
++	if (frame->header.blocksize > FLAC__MAX_BLOCK_SIZE)
++	{	psf_log_printf (psf, "Ooops : frame->header.blocksize (%d) > FLAC__MAX_BLOCK_SIZE (%d)\n", __func__, __LINE__, frame->header.blocksize, FLAC__MAX_BLOCK_SIZE) ;
++		psf->error = SFE_INTERNAL ;
++		return 0 ;
++		} ;
++
+ 	if (pflac->ptr == NULL)
+ 	{	/*
+ 		**	Not sure why this code is here and not elsewhere.
+@@ -210,7 +221,7 @@ flac_buffer_copy (SF_PRIVATE *psf)
+ 		pflac->bufferbackup = SF_TRUE ;
+ 		for (i = 0 ; i < frame->header.channels ; i++)
+ 		{	if (pflac->rbuffer [i] == NULL)
+-				pflac->rbuffer [i] = calloc (frame->header.blocksize, sizeof (FLAC__int32)) ;
++				pflac->rbuffer [i] = calloc (FLAC__MAX_BLOCK_SIZE, sizeof (FLAC__int32)) ;
+ 			memcpy (pflac->rbuffer [i], buffer [i], frame->header.blocksize * sizeof (FLAC__int32)) ;
+ 			} ;
+ 		pflac->wbuffer = (const FLAC__int32* const*) pflac->rbuffer ;



More information about the SM-Commit mailing list