SHA256
1
0
forked from pool/libcdio
OBS User unknown 2008-04-25 14:49:16 +00:00 committed by Git OBS Bridge
parent a9e57d481c
commit 690529062a
10 changed files with 60 additions and 313 deletions

View File

@ -1,175 +0,0 @@
--- libcdio-0.78.2/lib/iso9660/iso9660_fs.c
+++ libcdio-0.78.2/lib/iso9660/iso9660_fs.c
@@ -745,6 +745,11 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
stat_len = sizeof(iso9660_stat_t)+i_fname+2;
p_stat = calloc(1, stat_len);
+ if (!p_stat)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", stat_len);
+ return NULL;
+ }
p_stat->type = (p_iso9660_dir->file_flags & ISO_DIRECTORY)
? _STAT_DIR : _STAT_FILE;
p_stat->lsn = from_733 (p_iso9660_dir->extent);
@@ -768,6 +773,11 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
/* realloc gives valgrind errors */
iso9660_stat_t *p_stat_new =
calloc(1, sizeof(iso9660_stat_t)+i_rr_fname+2);
+ if (!p_stat_new)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", sizeof(iso9660_stat_t)+i_rr_fname+2);
+ return NULL;
+ }
memcpy(p_stat_new, p_stat, stat_len);
free(p_stat);
p_stat = p_stat_new;
@@ -782,11 +792,14 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
else if (i_joliet_level) {
int i_inlen = i_fname;
cdio_utf8_t *p_psz_out = NULL;
- cdio_charset_to_utf8(p_iso9660_dir->filename, i_inlen,
- &p_psz_out, "UCS-2BE");
-
- strncpy(p_stat->filename, p_psz_out, i_fname);
- free(p_psz_out);
+ if (cdio_charset_to_utf8(p_iso9660_dir->filename, i_inlen,
+ &p_psz_out, "UCS-2BE")) {
+ strncpy(p_stat->filename, p_psz_out, i_fname);
+ free(p_psz_out);
+ }
+ else {
+ return NULL;
+ }
}
#endif /*HAVE_JOLIET*/
else {
@@ -957,6 +970,11 @@ _fs_stat_traverse (const CdIo_t *p_cdio, const iso9660_stat_t *_root,
{
unsigned int len=sizeof(iso9660_stat_t) + strlen(_root->filename)+1;
p_stat = calloc(1, len);
+ if (!p_stat)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", len);
+ return NULL;
+ }
memcpy(p_stat, _root, len);
return p_stat;
}
@@ -974,6 +992,11 @@ _fs_stat_traverse (const CdIo_t *p_cdio, const iso9660_stat_t *_root,
}
_dirbuf = calloc(1, _root->secsize * ISO_BLOCKSIZE);
+ if (!p_stat)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", _root->secsize * ISO_BLOCKSIZE);
+ return NULL;
+ }
if (cdio_read_data_sectors (p_cdio, _dirbuf, _root->lsn, ISO_BLOCKSIZE,
_root->secsize))
@@ -1050,6 +1073,11 @@ _fs_iso_stat_traverse (iso9660_t *p_iso, const iso9660_stat_t *_root,
iso9660_stat_t *p_stat;
unsigned int len=sizeof(iso9660_stat_t) + strlen(_root->filename)+1;
p_stat = calloc(1, len);
+ if (!p_stat)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", len);
+ return NULL;
+ }
memcpy(p_stat, _root, len);
return p_stat;
}
@@ -1067,6 +1095,11 @@ _fs_iso_stat_traverse (iso9660_t *p_iso, const iso9660_stat_t *_root,
}
_dirbuf = calloc(1, _root->secsize * ISO_BLOCKSIZE);
+ if (!_dirbuf)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", _root->secsize * ISO_BLOCKSIZE);
+ return NULL;
+ }
ret = iso9660_iso_seek_read (p_iso, _dirbuf, _root->lsn, _root->secsize);
if (ret!=ISO_BLOCKSIZE*_root->secsize) return NULL;
@@ -1269,6 +1302,11 @@ iso9660_fs_readdir (CdIo_t *p_cdio, const char psz_path[], bool b_mode2)
}
_dirbuf = calloc(1, p_stat->secsize * ISO_BLOCKSIZE);
+ if (!_dirbuf)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", p_stat->secsize * ISO_BLOCKSIZE);
+ return NULL;
+ }
if (cdio_read_data_sectors (p_cdio, _dirbuf, p_stat->lsn,
ISO_BLOCKSIZE, p_stat->secsize))
@@ -1335,6 +1373,11 @@ iso9660_ifs_readdir (iso9660_t *p_iso, const char psz_path[])
}
_dirbuf = calloc(1, p_stat->secsize * ISO_BLOCKSIZE);
+ if (!_dirbuf)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", p_stat->secsize * ISO_BLOCKSIZE);
+ return NULL;
+ }
ret = iso9660_iso_seek_read (p_iso, _dirbuf, p_stat->lsn, p_stat->secsize);
if (ret != ISO_BLOCKSIZE*p_stat->secsize) return NULL;
@@ -1399,6 +1442,11 @@ find_fs_lsn_recurse (CdIo_t *p_cdio, const char psz_path[], lsn_t lsn)
if (statbuf->lsn == lsn) {
unsigned int len=sizeof(iso9660_stat_t)+strlen(statbuf->filename)+1;
iso9660_stat_t *ret_stat = calloc(1, len);
+ if (!ret_stat)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", len);
+ return NULL;
+ }
memcpy(ret_stat, statbuf, len);
_cdio_list_free (entlist, true);
_cdio_list_free (dirlist, true);
@@ -1453,6 +1501,11 @@ find_ifs_lsn_recurse (iso9660_t *p_iso, const char psz_path[], lsn_t lsn)
if (statbuf->lsn == lsn) {
unsigned int len=sizeof(iso9660_stat_t)+strlen(statbuf->filename)+1;
iso9660_stat_t *ret_stat = calloc(1, len);
+ if (!ret_stat)
+ {
+ cdio_warn("Couldn't calloc(1, %d)", len);
+ return NULL;
+ }
memcpy(ret_stat, statbuf, len);
_cdio_list_free (entlist, true);
_cdio_list_free (dirlist, true);
--- libcdio-0.78.2/lib/driver/utf8.c
+++ libcdio-0.78.2/lib/driver/utf8.c
@@ -120,6 +120,11 @@ do_convert(iconv_t cd, char * src, int src_len,
outbytesleft = alloc_size-1;
ret = malloc(alloc_size);
+ if (ret == NULL)
+ {
+ fprintf(stderr, "Can't malloc(%d).\n", alloc_size);
+ return false;
+ }
inbuf = src;
outbuf = ret;
@@ -139,11 +144,17 @@ do_convert(iconv_t cd, char * src, int src_len,
outbytesleft += BYTES_INCREMENT;
ret = realloc(ret, alloc_size);
+ if (ret == NULL)
+ {
+ fprintf(stderr, "Can't realloc(%d).\n", alloc_size);
+ return false;
+ }
outbuf = ret + output_pos;
break;
default:
fprintf(stderr, "Iconv failed: %s\n", strerror(errno));
- free(ret);
+ if (ret != NULL)
+ free(ret);
return false;
break;
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d406b80f78225eadfd1d0387fa9a3811117a9daeb1835c13291c4d42870ca789
size 1308055

3
libcdio-0.80.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54b9318875afbd6c692717b263649303ca67382bd9de8ffc7a2c7431f1ba2e20
size 1479958

View File

@ -1,12 +0,0 @@
Index: include/cdio++/iso9660.hpp
===================================================================
--- include/cdio++/iso9660.hpp.orig 2006-03-07 22:04:01.000000000 +0100
+++ include/cdio++/iso9660.hpp 2007-11-09 06:05:32.000000000 +0100
@@ -31,6 +31,7 @@
#include <cdio++/cdio.hpp>
#include <string.h>
#include <vector> // vector class library
+#include <cstdlib>
using namespace std;
/** ISO 9660 class.

View File

@ -1,104 +0,0 @@
--- src/cd-info.c 2007/06/16 20:12:16 1.149
+++ src/cd-info.c 2008/01/09 04:26:24 1.152 (reduced patch)
@@ -518,6 +518,8 @@
CdioList_t *p_dirlist = _cdio_list_new ();
CdioListNode_t *entnode;
uint8_t i_joliet_level;
+ char *translated_name = (char *) malloc(4096);
+ size_t translated_name_size = 4096;
i_joliet_level = (opts.no_joliet)
? 0
@@ -539,7 +541,15 @@
iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode);
char *psz_iso_name = p_statbuf->filename;
char _fullname[4096] = { 0, };
- char translated_name[MAX_ISONAME+1];
+ if (strlen(psz_iso_name) >= translated_name_size) {
+ translated_name_size = strlen(psz_iso_name)+1;
+ free(translated_name);
+ translated_name = (char *) malloc(translated_name_size);
+ if (!translated_name) {
+ report( stderr, "Error allocating memory\n" );
+ return;
+ }
+ }
if (yep != p_statbuf->rr.b3_rock || 1 == opts.no_rock_ridge) {
iso9660_name_translate_ext(psz_iso_name, translated_name,
@@ -564,6 +574,7 @@
p_statbuf->rr.i_symlink = 0;
}
}
+ free (translated_name);
_cdio_list_free (p_entlist, true);
--- src/iso-info.c 2006/03/17 19:36:54 1.35
+++ src/iso-info.c 2008/01/09 04:26:24 1.38 (reduced patch)
@@ -205,7 +205,8 @@
CdioList_t *dirlist = _cdio_list_new ();
CdioListNode_t *entnode;
uint8_t i_joliet_level = iso9660_ifs_get_joliet_level(p_iso);
-
+ char *translated_name = (char *) malloc(4096);
+ size_t translated_name_size = 4096;
entlist = iso9660_ifs_readdir (p_iso, psz_path);
if (opts.print_iso9660) {
@@ -224,7 +225,15 @@
iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode);
char *psz_iso_name = p_statbuf->filename;
char _fullname[4096] = { 0, };
- char translated_name[MAX_ISONAME+1];
+ if (strlen(psz_iso_name) >= translated_name_size) {
+ translated_name_size = strlen(psz_iso_name)+1;
+ free(translated_name);
+ translated_name = (char *) malloc(translated_name_size);
+ if (!translated_name) {
+ report( stderr, "Error allocating memory\n" );
+ return;
+ }
+ }
if (yep != p_statbuf->rr.b3_rock || 1 == opts.no_rock_ridge) {
iso9660_name_translate_ext(psz_iso_name, translated_name,
@@ -258,6 +267,7 @@
p_statbuf->rr.i_symlink = 0;
}
}
+ free (translated_name);
_cdio_list_free (entlist, true);
--- src/mmc-tool.c 2006/04/14 22:17:08 1.9
+++ src/mmc-tool.c 2008/01/09 04:26:24 1.10 (reduced patch)
@@ -261,7 +261,7 @@
}
static void
-print_mode_sense (unsigned int i_mmc_size, const uint8_t buf[22])
+print_mode_sense (unsigned int i_mmc_size, const uint8_t buf[30])
{
printf("Mode sense %d information\n", i_mmc_size);
if (buf[2] & 0x01) {
@@ -461,7 +461,7 @@
break;
case OP_MODE_SENSE_2A:
{
- uint8_t buf[22] = { 0, }; /* Place to hold returned data */
+ uint8_t buf[30] = { 0, }; /* Place to hold returned data */
if (p_op->arg.i_num == 10) {
rc = mmc_mode_sense_10(p_cdio, buf, sizeof(buf),
CDIO_MMC_CAPABILITIES_PAGE);
--- example/udf1.c 2005/11/02 03:42:49 1.17
+++ example/udf1.c 2008/01/09 04:27:16 1.18 (reduced patch)
@@ -127,7 +127,7 @@
printf("volume id: %s\n", vol_id);
if (0 < udf_get_volume_id(p_udf, volset_id, sizeof(volset_id)) ) {
- volset_id[UDF_VOLSET_ID_SIZE+1]='\0';
+ volset_id[UDF_VOLSET_ID_SIZE]='\0';
printf("volume set id: %s\n", volset_id);
}

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Apr 25 16:03:38 CEST 2008 - sbrabec@suse.cz
- Updated to version 0.80:
* Add option to log summary output in cd-paranoia
* More string bounds checking to eliminate known string overflow
conditions, Savannah#21910
* add --mode="any" on cd-read which uses a mmc_read_sectors with
read-type CDIO_MMC_READ_TYPE_ANY.
* add --log-summary option to cd-paranoia. Unused option
--output-info (-i) removed
* some small packaging bugs fixed
* probably the last GPL v2 release; GPL v3 on the horizon.
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de

View File

@ -1,5 +1,5 @@
# #
# spec file for package libcdio-mini (Version 0.79) # spec file for package libcdio-mini (Version 0.80)
# #
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine # This file and all modifications and additions to the pristine
@ -23,8 +23,8 @@ BuildRequires: libcddb-devel libcdio-devel ncurses-devel vcdimager-devel
# Only for regression testing: # Only for regression testing:
#BuildRequires: cdparanoia #BuildRequires: cdparanoia
%endif %endif
Version: 0.79 Version: 0.80
Release: 6 Release: 1
# WARNING: After changing versions please call Re or rpmbuild to auto-update spec file: # WARNING: After changing versions please call Re or rpmbuild to auto-update spec file:
%define libcdio_name 7 %define libcdio_name 7
%define libcdio_paranoia_name 0 %define libcdio_paranoia_name 0
@ -44,9 +44,6 @@ Requires: licenses
Provides: %{_name} = %{version} Provides: %{_name} = %{version}
%endif %endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Patch0: libcdio-gcc43.patch
Patch1: libcdio-joliet-name-overflow.patch
Patch2: libcdio-0.78.2-check-returns.patch
%description %description
This library encapsulates CD-ROM reading and control. Applications This library encapsulates CD-ROM reading and control. Applications
@ -61,8 +58,8 @@ Authors:
Rocky Bernstein <rocky@panix.com> Rocky Bernstein <rocky@panix.com>
%package -n libcdio7-mini %package -n libcdio7-mini
License: GPL v2 or later
Provides: libcdio-mini = %{version}-%{release} Provides: libcdio-mini = %{version}-%{release}
License: GPL v2 or later
Group: Productivity/Multimedia/Other Group: Productivity/Multimedia/Other
Summary: CD-ROM Access Library Summary: CD-ROM Access Library
# Name for <= 10.2 # Name for <= 10.2
@ -207,9 +204,6 @@ Authors:
%prep %prep
%setup -q -n %{_name}-%{version} %setup -q -n %{_name}-%{version}
%patch0
%patch1
%patch2 -p1
%build %build
%configure --disable-static --with-pic %configure --disable-static --with-pic
@ -308,6 +302,17 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%changelog %changelog
* Fri Apr 25 2008 sbrabec@suse.cz
- Updated to version 0.80:
* Add option to log summary output in cd-paranoia
* More string bounds checking to eliminate known string overflow
conditions, Savannah#21910
* add --mode="any" on cd-read which uses a mmc_read_sectors with
read-type CDIO_MMC_READ_TYPE_ANY.
* add --log-summary option to cd-paranoia. Unused option
--output-info (-i) removed
* some small packaging bugs fixed
* probably the last GPL v2 release; GPL v3 on the horizon.
* Thu Apr 10 2008 ro@suse.de * Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages - added baselibs.conf file to build xxbit packages
for multilib support for multilib support

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Apr 25 16:03:38 CEST 2008 - sbrabec@suse.cz
- Updated to version 0.80:
* Add option to log summary output in cd-paranoia
* More string bounds checking to eliminate known string overflow
conditions, Savannah#21910
* add --mode="any" on cd-read which uses a mmc_read_sectors with
read-type CDIO_MMC_READ_TYPE_ANY.
* add --log-summary option to cd-paranoia. Unused option
--output-info (-i) removed
* some small packaging bugs fixed
* probably the last GPL v2 release; GPL v3 on the horizon.
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de

View File

@ -1,5 +1,5 @@
# #
# spec file for package libcdio (Version 0.79) # spec file for package libcdio (Version 0.80)
# #
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine # This file and all modifications and additions to the pristine
@ -23,8 +23,8 @@ BuildRequires: libcddb-devel libcdio-devel ncurses-devel vcdimager-devel
# Only for regression testing: # Only for regression testing:
#BuildRequires: cdparanoia #BuildRequires: cdparanoia
%endif %endif
Version: 0.79 Version: 0.80
Release: 6 Release: 1
# WARNING: After changing versions please call Re or rpmbuild to auto-update spec file: # WARNING: After changing versions please call Re or rpmbuild to auto-update spec file:
%define libcdio_name 7 %define libcdio_name 7
%define libcdio_paranoia_name 0 %define libcdio_paranoia_name 0
@ -44,9 +44,6 @@ Requires: licenses
Provides: %{_name} = %{version} Provides: %{_name} = %{version}
%endif %endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Patch0: libcdio-gcc43.patch
Patch1: libcdio-joliet-name-overflow.patch
Patch2: libcdio-0.78.2-check-returns.patch
%description %description
This library encapsulates CD-ROM reading and control. Applications This library encapsulates CD-ROM reading and control. Applications
@ -206,9 +203,6 @@ Authors:
%prep %prep
%setup -q -n %{_name}-%{version} %setup -q -n %{_name}-%{version}
%patch0
%patch1
%patch2 -p1
%build %build
%configure --disable-static --with-pic %configure --disable-static --with-pic
@ -307,6 +301,17 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%changelog %changelog
* Fri Apr 25 2008 sbrabec@suse.cz
- Updated to version 0.80:
* Add option to log summary output in cd-paranoia
* More string bounds checking to eliminate known string overflow
conditions, Savannah#21910
* add --mode="any" on cd-read which uses a mmc_read_sectors with
read-type CDIO_MMC_READ_TYPE_ANY.
* add --log-summary option to cd-paranoia. Unused option
--output-info (-i) removed
* some small packaging bugs fixed
* probably the last GPL v2 release; GPL v3 on the horizon.
* Thu Apr 10 2008 ro@suse.de * Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages - added baselibs.conf file to build xxbit packages
for multilib support for multilib support