Merge branch 'f29' into f30

epel9
Dominik 'Rathann' Mierzejewski 5 years ago
commit 0515fedac9

1
.gitignore vendored

@ -11,3 +11,4 @@ libmatroska-1.0.0.tar.bz2
/libmatroska-1.4.8.tar.xz /libmatroska-1.4.8.tar.xz
/libmatroska-1.4.9.tar.xz /libmatroska-1.4.9.tar.xz
/libmatroska-1.5.0.tar.xz /libmatroska-1.5.0.tar.xz
/libmatroska-1.5.2.tar.xz

@ -1,53 +0,0 @@
diff -ruwbBd libmatroska-1.5.0/src/KaxBlock.cpp libmatroska-1.5.1/src/KaxBlock.cpp
--- libmatroska-1.5.0/src/KaxBlock.cpp 2019-03-12 20:54:34.000000000 +0100
+++ libmatroska-1.5.1/src/KaxBlock.cpp 2019-05-25 12:16:54.000000000 +0200
@@ -628,11 +628,12 @@
// put all Frames in the list
if (mLacing != LACING_NONE) {
// read the number of frames in the lace
- uint32 LastBufferSize = GetSize() - BlockHeadSize - 1; // 1 for number of frame
+ const uint32 TotalLacedSize = GetSize() - BlockHeadSize - 1; // 1 for number of frame
+ uint32 LastBufferSize = TotalLacedSize;
uint8 FrameNum = _TempHead[0]; // number of frames in the lace - 1
// read the list of frame sizes
uint8 Index;
- int32 FrameSize;
+ uint32 FrameSize;
uint32 SizeRead;
uint64 SizeUnknown;
@@ -646,6 +647,8 @@
do {
Result += input.read(_TempHead, 1);
FrameSize += uint8(_TempHead[0]);
+ if (FrameSize > TotalLacedSize)
+ throw SafeReadIOCallback::EndOfStreamX(0);
LastBufferSize--;
FirstFrameLocation++;
@@ -662,6 +665,8 @@
cursor = _tmpBuf = new binary[FrameNum*4]; /// \warning assume the mean size will be coded in less than 4 bytes
Result += input.read(cursor, FrameNum*4);
FrameSize = ReadCodedSizeValue(cursor, SizeRead, SizeUnknown);
+ if (FrameSize > TotalLacedSize)
+ throw SafeReadIOCallback::EndOfStreamX(0);
SizeList[0] = FrameSize;
cursor += SizeRead;
LastBufferSize -= FrameSize + SizeRead;
@@ -670,6 +675,8 @@
// get the size of the frame
SizeRead = LastBufferSize;
FrameSize += ReadCodedSizeSignedValue(cursor, SizeRead, SizeUnknown);
+ if (FrameSize > TotalLacedSize)
+ throw SafeReadIOCallback::EndOfStreamX(0);
SizeList[Index] = FrameSize;
cursor += SizeRead;
LastBufferSize -= FrameSize + SizeRead;
@@ -703,7 +710,6 @@
} catch (SafeReadIOCallback::EndOfStreamX &) {
SetValueIsSet(false);
- std::memset(EbmlBinary::GetBuffer(), 0, GetSize());
myBuffers.clear();
SizeList.clear();
Timecode = 0;

@ -1,15 +1,14 @@
Summary: Open audio/video container format library Summary: Open audio/video container format library
Name: libmatroska Name: libmatroska
Version: 1.5.0 Version: 1.5.2
Release: 1%{?dist} Release: 1%{?dist}
License: LGPLv2+ License: LGPLv2+
URL: https://www.matroska.org/ URL: https://www.matroska.org/
Source0: https://dl.matroska.org/downloads/%{name}/%{name}-%{version}.tar.xz Source0: https://dl.matroska.org/downloads/%{name}/%{name}-%{version}.tar.xz
Patch0: %{name}-memory.patch
BuildRequires: cmake3 BuildRequires: cmake3
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: libebml-devel >= 1.3.7 BuildRequires: libebml-devel >= 1.3.8
Requires: libebml%{_isa} >= 1.3.7 Requires: libebml%{_isa} >= 1.3.8
%description %description
Matroska is an extensible open standard Audio/Video container. It Matroska is an extensible open standard Audio/Video container. It
@ -22,7 +21,7 @@ is usually found as .mkv files (matroska video) and .mka files
Summary: Matroska container format library development files Summary: Matroska container format library development files
Requires: %{name}%{_isa} = %{version}-%{release} Requires: %{name}%{_isa} = %{version}-%{release}
Requires: %{_libdir}/cmake Requires: %{_libdir}/cmake
Requires: libebml-devel >= 1.3.7 Requires: libebml-devel >= 1.3.8
Requires: pkgconfig Requires: pkgconfig
%description devel %description devel
@ -37,7 +36,6 @@ will use the Matroska container format.
%prep %prep
%setup -q %setup -q
%patch0 -p1 -b .m
%build %build
@ -61,14 +59,18 @@ will use the Matroska container format.
%{_includedir}/matroska/ %{_includedir}/matroska/
%{_libdir}/%{name}.so %{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc
%dir %{_libdir}/cmake/matroska %dir %{_libdir}/cmake/Matroska
%{_libdir}/cmake/matroska/MatroskaConfig.cmake %{_libdir}/cmake/Matroska/MatroskaConfig.cmake
%{_libdir}/cmake/matroska/MatroskaConfigVersion.cmake %{_libdir}/cmake/Matroska/MatroskaConfigVersion.cmake
%{_libdir}/cmake/matroska/MatroskaTargets-noconfig.cmake %{_libdir}/cmake/Matroska/MatroskaTargets-noconfig.cmake
%{_libdir}/cmake/matroska/MatroskaTargets.cmake %{_libdir}/cmake/Matroska/MatroskaTargets.cmake
%changelog %changelog
* Tue Sep 10 2019 Dominik Mierzejewski <rpm@greysector.net> - 1.5.2-1
- update to 1.5.2 (#1688000)
- drop obsolete patch
* Sat Jun 08 2019 Dominik Mierzejewski <rpm@greysector.net> - 1.5.0-1 * Sat Jun 08 2019 Dominik Mierzejewski <rpm@greysector.net> - 1.5.0-1
- update to 1.5.0 - update to 1.5.0
- backport fixes for invalid memory access and null pointer dereference - backport fixes for invalid memory access and null pointer dereference

@ -1 +1 @@
SHA512 (libmatroska-1.5.0.tar.xz) = eb59b5afd9d510c2d6c7408b0053a261cee6669a9f5bbb1a939d98d96ac6c9b8f340691e95310268f59c954a1d9f72322fd0ec7b442a74c56cd2e2c22eb3a754 SHA512 (libmatroska-1.5.2.tar.xz) = 122b71b91ae89e2a7cc89db17655a006248d58f18d913b4f9ffc885aef7e39681a3a16eed43cd8ecd949c570a939007797c79829f5ee87d08562aee3f0224ba2

Loading…
Cancel
Save