Darcsweb-Url: 
http://darcs.frugalware.org/darcsweb/darcsweb.cgi?r=frugalware-0.6;a=darcs_commitdiff;h=20071001080838-dd049-0091384801c29cd6ccf94a80d8518f7d5f3b8348.gz;

[libsndfile-1.0.17-3terminus1-i686
voroskoi <[EMAIL PROTECTED]>**20071001080838
 secfix relbump, closes #2431
] {
addfile ./source/lib/libsndfile/CVE-2007-4974.diff
hunk ./source/lib/libsndfile/CVE-2007-4974.diff 1
+Index: libsndfile-1.0.17/src/flac.c
+===================================================================
+--- libsndfile-1.0.17.orig/src/flac.c
++++ libsndfile-1.0.17/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 ;
hunk ./source/lib/libsndfile/FrugalBuild 6
-pkgrel=2
+pkgrel=3terminus1
hunk ./source/lib/libsndfile/FrugalBuild 14
-       libsndfile-fixhtmldocsdir.patch libsndfile-flac113.patch)
+       libsndfile-fixhtmldocsdir.patch libsndfile-flac113.patch 
CVE-2007-4974.diff)
hunk ./source/lib/libsndfile/FrugalBuild 17
-       Fcd
hunk ./source/lib/libsndfile/FrugalBuild 22
+sha1sums=('2f66798d596a15491fbd1191ded8125ed71ef411' \
+          '7c61fe6d99ebe664647ce5a1eaf0dce13a183c17' \
+          '4813db22f1dee9f8b3affccbf3783e53160366a1' \
+          'aaa818fdfa35002af77b84b19398dae5c3f53744')
hunk ./source/lib/libsndfile/FrugalBuild 27
-sha1sums=('2f66798d596a15491fbd1191ded8125ed71ef411'\
-          '7c61fe6d99ebe664647ce5a1eaf0dce13a183c17'\
-          '4813db22f1dee9f8b3affccbf3783e53160366a1')
}
_______________________________________________
Frugalware-darcs mailing list
Frugalware-darcs@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-darcs

Reply via email to