[arch-commits] Commit in libcdio/trunk (2 files)

Jan de Groot jgc at archlinux.org
Tue Jan 15 11:44:03 UTC 2013


    Date: Tuesday, January 15, 2013 @ 06:44:03
  Author: jgc
Revision: 175151

upgpkg: libcdio 0.90-2

Add upstream post-release patch

Added:
  libcdio/trunk/udf-Dont-return-freed-memory-from-udf_fopen.patch
Modified:
  libcdio/trunk/PKGBUILD

---------------------------------------------------+
 PKGBUILD                                          |   11 ++++--
 udf-Dont-return-freed-memory-from-udf_fopen.patch |   33 ++++++++++++++++++++
 2 files changed, 40 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-01-15 11:34:28 UTC (rev 175150)
+++ PKGBUILD	2013-01-15 11:44:03 UTC (rev 175151)
@@ -4,7 +4,7 @@
 
 pkgname=libcdio
 pkgver=0.90
-pkgrel=1
+pkgrel=2
 pkgdesc="GNU Compact Disc Input and Control Library"
 arch=('i686' 'x86_64')
 license=('GPL3')
@@ -13,14 +13,17 @@
 options=('!libtool')
 install=libcdio.install
 source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig}
-        libcdio-0.83-linking.patch)
+        libcdio-0.83-linking.patch
+        udf-Dont-return-freed-memory-from-udf_fopen.patch)
 md5sums=('1b245b023fb03a58d030fd2800db3247'
          '45100d90ea49d6f8481eddf709655c0f'
-         '5a7f50209c03d5919d5b932f07871af7')
+         '5a7f50209c03d5919d5b932f07871af7'
+         'b7b50c989575e5484d3992b455c9df48')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  patch -Np1 -i $srcdir/libcdio-0.83-linking.patch
+  patch -Np1 -i ../libcdio-0.83-linking.patch
+  patch -Np1 -i ../udf-Dont-return-freed-memory-from-udf_fopen.patch
   ./configure --prefix=/usr --disable-vcd-info --enable-cpp-progs --disable-static
   make
 }

Added: udf-Dont-return-freed-memory-from-udf_fopen.patch
===================================================================
--- udf-Dont-return-freed-memory-from-udf_fopen.patch	                        (rev 0)
+++ udf-Dont-return-freed-memory-from-udf_fopen.patch	2013-01-15 11:44:03 UTC (rev 175151)
@@ -0,0 +1,33 @@
+From 6c0251d145e44b7cdfeb9767c615646fb8f51320 Mon Sep 17 00:00:00 2001
+From: Christophe Fergeau <cfergeau at redhat.com>
+Date: Thu, 22 Nov 2012 13:53:15 +0100
+Subject: [PATCH] udf: Don't return freed memory from udf_fopen
+
+When trying to open a file located in the root directory of the
+UDF filesystem, we call udf_ff_open with the dirent corresponding
+to the root dir and the filename. In this case, udf_ff_open will
+return the same dirent as the one that was passed as argument, so
+we must not free it as we'll be returning it.
+This causes a crash with iso-read when trying to read a file located
+at the root of the image.
+---
+ lib/udf/udf_fs.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/lib/udf/udf_fs.c b/lib/udf/udf_fs.c
+index 5f5add7..1e0601e 100644
+--- a/lib/udf/udf_fs.c
++++ b/lib/udf/udf_fs.c
+@@ -257,7 +257,8 @@ udf_fopen(udf_dirent_t *p_udf_root, const char *psz_name)
+ 		       p_udf_root->psz_name, p_udf_root->b_dir, 
+ 		       p_udf_root->b_parent);
+       p_udf_file = udf_ff_traverse(p_udf_dirent, psz_token);
+-      udf_dirent_free(p_udf_dirent);
++      if (p_udf_file != p_udf_dirent)
++        udf_dirent_free(p_udf_dirent);
+     }
+     else if ( 0 == strncmp("/", psz_name, sizeof("/")) ) {
+       return udf_new_dirent(&p_udf_root->fe, p_udf_root->p_udf,
+-- 
+1.7.2.5
+




More information about the arch-commits mailing list