libcdio:moved into main for pisi 2.0

This commit is contained in:
2015-07-23 13:36:25 +03:00
parent 5e80abd3f1
commit 10203b19b8
5 changed files with 179 additions and 0 deletions
@@ -0,0 +1,22 @@
diff -Naur libcdio-0.83-orig/example/C++/OO/Makefile.in libcdio-0.83/example/C++/OO/Makefile.in
--- libcdio-0.83-orig/example/C++/OO/Makefile.in 2011-10-27 18:02:31.000000000 +1000
+++ libcdio-0.83/example/C++/OO/Makefile.in 2012-02-18 11:10:07.369277231 +1000
@@ -315,15 +315,15 @@
isofile2_SOURCES = isofile2.cpp
isofile2_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \
- $(LIBCDIOPP_LIBS) $(LTLIBICONV)
+ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
isolist_SOURCES = isolist.cpp
isolist_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \
- $(LIBCDIOPP_LIBS) $(LTLIBICONV)
+ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
iso4_SOURCES = iso4.cpp
iso4_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \
- $(LIBCDIOPP_LIBS) $(LTLIBICONV)
+ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
mmc1_SOURCES = mmc1.cpp
mmc1_DEPENDENCIES = $(LIBCDIO_DEPS)
@@ -0,0 +1,33 @@
From 6c0251d145e44b7cdfeb9767c615646fb8f51320 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@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