update package -> 6.1.3

This commit is contained in:
wenzhiwei11 2022-07-29 16:16:39 +08:00
parent 658deba780
commit 8b131e78ae
6 changed files with 13 additions and 172 deletions

View File

@ -1,162 +0,0 @@
diff --git a/src/dvd_reader.c b/src/dvd_reader.c
index 4e112d3..e8d50f3 100644
--- a/src/dvd_reader.c
+++ b/src/dvd_reader.c
@@ -1156,13 +1156,13 @@ int InternalUDFReadBlocksRaw( const dvd_reader_t *device, uint32_t lb_number,
if( !device->dev ) {
fprintf( stderr, "libdvdread: Fatal error in block read.\n" );
- return 0;
+ return -1;
}
ret = dvdinput_seek( device->dev, (int) lb_number );
if( ret != (int) lb_number ) {
fprintf( stderr, "libdvdread: Can't seek to block %u\n", lb_number );
- return 0;
+ return ret;
}
ret = dvdinput_read( device->dev, (char *) data,
diff --git a/src/dvd_udf.c b/src/dvd_udf.c
index 5eb3d2b..68c3a9a 100644
--- a/src/dvd_udf.c
+++ b/src/dvd_udf.c
@@ -516,6 +516,7 @@ static int UDFMapICB( dvd_reader_t *device, struct AD ICB, uint8_t *FileType,
uint32_t lbnum;
uint16_t TagID;
struct icbmap tmpmap;
+ int ret;
lbnum = partition->Start + ICB.Location;
tmpmap.lbn = lbnum;
@@ -526,10 +527,16 @@ static int UDFMapICB( dvd_reader_t *device, struct AD ICB, uint8_t *FileType,
}
do {
- if( DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 ) <= 0 )
+ ret = DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 );
+ if( ret < 0 ) {
+ return ret;
+ }
+ else if( ret == 0 ) {
TagID = 0;
- else
+ }
+ else {
UDFDescriptor( LogBlock, &TagID );
+ }
if( TagID == FileEntry ) {
UDFFileEntry( LogBlock, FileType, partition, File );
@@ -677,6 +688,7 @@ static int UDFGetAVDP( dvd_reader_t *device,
uint32_t lastsector;
int terminate;
struct avdp_t;
+ int ret;
if(GetUDFCache(device, AVDPCache, 0, avdp))
return 1;
@@ -687,11 +699,16 @@ static int UDFGetAVDP( dvd_reader_t *device,
terminate = 0;
for(;;) {
- if( DVDReadLBUDF( device, lbnum, 1, Anchor, 0 ) > 0 ) {
- UDFDescriptor( Anchor, &TagID );
- } else {
+ ret = DVDReadLBUDF( device, lbnum, 1, Anchor, 0 );
+ if( ret < 0 ) {
+ return ret;
+ }
+ else if( ret == 0 ) {
TagID = 0;
}
+ else {
+ UDFDescriptor( Anchor, &TagID );
+ }
if (TagID != AnchorVolumeDescriptorPointer) {
/* Not an anchor */
if( terminate ) return 0; /* Final try failed */
@@ -742,7 +759,7 @@ static int UDFFindPartition( dvd_reader_t *device, int partnum,
uint8_t *LogBlock = (uint8_t *)(((uintptr_t)LogBlock_base & ~((uintptr_t)2047)) + 2048);
uint32_t lbnum, MVDS_location, MVDS_length;
uint16_t TagID;
- int i, volvalid;
+ int i, volvalid, ret;
struct avdp_t avdp;
if(!UDFGetAVDP(device, &avdp))
@@ -761,10 +778,16 @@ static int UDFFindPartition( dvd_reader_t *device, int partnum,
lbnum = MVDS_location;
do {
- if( DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 ) <= 0 )
+ ret = DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 );
+ if( ret < 0 ) {
+ return ret;
+ }
+ else if( ret == 0 ) {
TagID = 0;
- else
+ }
+ else {
UDFDescriptor( LogBlock, &TagID );
+ }
if( ( TagID == PartitionDescriptor ) && ( !part->valid ) ) {
/* Partition Descriptor */
@@ -805,6 +828,7 @@ uint32_t UDFFindFile( dvd_reader_t *device, const char *filename,
struct AD RootICB, File, ICB;
char tokenline[ MAX_UDF_FILE_NAME_LEN ];
uint8_t filetype;
+ int ret;
*filesize = 0;
tokenline[0] = '\0';
@@ -820,10 +844,16 @@ uint32_t UDFFindFile( dvd_reader_t *device, const char *filename,
/* Find root dir ICB */
lbnum = partition.Start;
do {
- if( DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 ) <= 0 )
+ ret = DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 );
+ if( ret < 0 ) {
+ return ret;
+ }
+ else if( ret == 0 ) {
TagID = 0;
- else
+ }
+ else {
UDFDescriptor( LogBlock, &TagID );
+ }
/* File Set Descriptor */
if( TagID == FileSetDescriptor ) /* File Set Descriptor */
@@ -886,7 +916,7 @@ static int UDFGetDescriptor( dvd_reader_t *device, int id,
uint32_t lbnum, MVDS_location, MVDS_length;
struct avdp_t avdp;
uint16_t TagID;
- int i, desc_found = 0;
+ int i, desc_found = 0, ret;
/* Find Anchor */
lbnum = 256; /* Try #1, prime anchor */
if(bufsize < DVD_VIDEO_LB_LEN)
@@ -904,10 +934,16 @@ static int UDFGetDescriptor( dvd_reader_t *device, int id,
/* Find Descriptor */
lbnum = MVDS_location;
do {
- if( DVDReadLBUDF( device, lbnum++, 1, descriptor, 0 ) <= 0 )
+ ret = DVDReadLBUDF( device, lbnum++, 1, descriptor, 0 );
+ if( ret < 0 ) {
+ return ret;
+ }
+ else if( ret == 0 ) {
TagID = 0;
- else
+ }
+ else {
UDFDescriptor( descriptor, &TagID );
+ }
if( (TagID == id) && ( !desc_found ) )
/* Descriptor */
desc_found = 1;

Binary file not shown.

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRl98a0IGvQV6frc3hxgHE75Y0a3AUCWl/CXgAKCRBxgHE75Y0a
3F/3AJ9QnMbfr7cWIN64gW2SfuzHrFZpiACgl970rnPZtoEEN0CfUOuw2vMMz70=
=9mCd
-----END PGP SIGNATURE-----

BIN
libdvdread-6.1.3.tar.bz2 Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRl98a0IGvQV6frc3hxgHE75Y0a3AUCYo0GlQAKCRBxgHE75Y0a
3FBCAKCZ8WHwf9/FABynzLgzzvoBDzQ4EwCfVCE9aMcaRo5uqrqJwKWZktlGmLk=
=EHs9
-----END PGP SIGNATURE-----

View File

@ -1,13 +1,13 @@
Name: libdvdread
Version: 6.0.0
Release: 3
Version: 6.1.3
Release: 1
Summary: Library to access DVD disks
License: GPLv2+
URL: http://dvdnav.mplayerhq.hu/
Source0: https://download.videolan.org/pub/videolan/libdvdread/%{version}/libdvdread-%{version}.tar.bz2
Source1: https://download.videolan.org/pub/videolan/libdvdread/%{version}/libdvdread-%{version}.tar.bz2.asc
Source2: https://download.videolan.org/pub/keys/7180713BE58D1ADC.asc
Patch0001: A01-UDFReadBlocks-errors.patch
BuildRequires: gcc gnupg2
Provides: bundled(md5-gcc)
@ -41,7 +41,7 @@ gpgv2 --keyring ./gpg-keyring.gpg %{S:1} %{S:0}
%files
%license COPYING
%doc AUTHORS NEWS README ChangeLog TODO
%doc AUTHORS NEWS README.md ChangeLog TODO
%{_libdir}/libdvdread.so.*
%exclude %{_pkgdocdir}/COPYING
@ -51,5 +51,8 @@ gpgv2 --keyring ./gpg-keyring.gpg %{S:1} %{S:0}
%{_libdir}/pkgconfig/dvdread.pc
%changelog
* Fri Jul 29 2022 wenzhiwei <wenzhiwei@kylinos.cn> - 6.1.3-1
- Upgrade to 6.1.3
* Tue Feb 18 2020 zhusongbao <zhusongbao@huawei.com> 6.0.0-3
- Package init