Hello community,

here is the log from the commit of package libmatroska for openSUSE:Factory 
checked in at 2019-07-12 11:59:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmatroska (Old)
 and      /work/SRC/openSUSE:Factory/.libmatroska.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libmatroska"

Fri Jul 12 11:59:27 2019 rev:48 rq:714710 version:1.5.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libmatroska/libmatroska.changes  2019-04-23 
14:34:00.953383109 +0200
+++ /work/SRC/openSUSE:Factory/.libmatroska.new.4615/libmatroska.changes        
2019-07-12 11:59:30.852171364 +0200
@@ -1,0 +2,10 @@
+Wed Jul 10 14:27:35 UTC 2019 - Ferdinand Thiessen <r...@fthiessen.de>
+
+- Update to version 1.5.2:
+  * Fix boo#1141027
+  * KaxBlock: fixed a potential access to invalid memory due to
+    invalid lace sizes read from invalid data.
+  * KaxBlock: fixed a potential null pointer dereference triggerable
+    by reading invalid data.
+
+-------------------------------------------------------------------

Old:
----
  libmatroska-1.5.0.tar.xz

New:
----
  libmatroska-1.5.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libmatroska.spec ++++++
--- /var/tmp/diff_new_pack.Ojwxi3/_old  2019-07-12 11:59:31.788171392 +0200
+++ /var/tmp/diff_new_pack.Ojwxi3/_new  2019-07-12 11:59:31.792171393 +0200
@@ -18,7 +18,7 @@
 
 %define sover 6
 Name:           libmatroska
-Version:        1.5.0
+Version:        1.5.2
 Release:        0
 Summary:        Library to Deal with Matroska Files
 License:        LGPL-2.1+
@@ -32,7 +32,7 @@
 BuildRequires:  cmake
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
-BuildRequires:  pkgconfig(libebml) >= 1.3.7
+BuildRequires:  pkgconfig(libebml) >= 1.3.9
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -90,7 +90,7 @@
 %defattr(-,root,root)
 %{_libdir}/libmatroska.so
 %{_libdir}/pkgconfig/*.pc
-%{_libdir}/cmake/matroska
+%{_libdir}/cmake/Matroska
 %{_includedir}/matroska
 
 %changelog

++++++ libmatroska-1.5.0.tar.xz -> libmatroska-1.5.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/CMakeLists.txt 
new/libmatroska-1.5.2/CMakeLists.txt
--- old/libmatroska-1.5.0/CMakeLists.txt        2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/CMakeLists.txt        2019-05-27 15:46:27.000000000 
+0200
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.1.2)
 
-project(matroska VERSION 1.5.0)
+project(matroska VERSION 1.5.2)
 
 option(DISABLE_PKGCONFIG "Disable PkgConfig module generation" OFF)
 option(DISABLE_CMAKE_CONFIG "Disable CMake package config module generation" 
OFF)
 
-find_package(Ebml 1.3.7 REQUIRED)
+find_package(EBML 1.3.9 REQUIRED)
 
 include(GNUInstallDirs)
 
@@ -59,8 +59,8 @@
   matroska/c/libmatroska.h
   matroska/c/libmatroska_t.h)
 
-add_library(matroska ${libmatroska_SOURCES} ${limatroska_PUBLIC_HEADERS} 
${libmatroska_C_PUBLIC_HEADERS})
-target_link_libraries(matroska PUBLIC ebml)
+add_library(matroska ${libmatroska_SOURCES} ${libmatroska_PUBLIC_HEADERS} 
${libmatroska_C_PUBLIC_HEADERS})
+target_link_libraries(matroska PUBLIC EBML::ebml)
 set_target_properties(matroska PROPERTIES
   VERSION 6.0.0
   SOVERSION 6)
@@ -72,7 +72,8 @@
 endif()
 if(BUILD_SHARED_LIBS)
   target_compile_definitions(matroska PUBLIC MATROSKA_DLL)
-  set_target_properties(matroska PROPERTIES DEFINE_SYMBOL 
"MATROSKA_DLL_EXPORT")
+  set_target_properties(matroska PROPERTIES
+    DEFINE_SYMBOL MATROSKA_DLL_EXPORT)
 endif()
 
 install(TARGETS matroska
@@ -95,16 +96,14 @@
 endif()
 
 if(NOT DISABLE_CMAKE_CONFIG)
-  if(WIN32)
-    set(CMAKE_INSTALL_PACKAGEDIR cmake)
-  else()
-    set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
-  endif()
+  set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/Matroska)
   include(CMakePackageConfigHelpers)
+  configure_package_config_file(MatroskaConfig.cmake.in 
${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfig.cmake
+    INSTALL_DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
   write_basic_package_version_file(MatroskaConfigVersion.cmake COMPATIBILITY 
SameMajorVersion)
-  install(EXPORT MatroskaTargets DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
+  install(EXPORT MatroskaTargets NAMESPACE Matroska:: DESTINATION 
${CMAKE_INSTALL_PACKAGEDIR})
   install(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/MatroskaConfig.cmake
+    ${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfig.cmake
     ${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfigVersion.cmake
     DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/ChangeLog 
new/libmatroska-1.5.2/ChangeLog
--- old/libmatroska-1.5.0/ChangeLog     2019-03-12 20:54:34.000000000 +0100
+++ new/libmatroska-1.5.2/ChangeLog     2019-05-27 15:46:27.000000000 +0200
@@ -1,3 +1,31 @@
+2019-05-27  Moritz Bunkus  <mor...@bunkus.org>
+
+        * Released v1.5.2.
+
+2019-05-27  evpobr  <evp...@gmail.com>
+
+        * Build system: fixed symbol visibility issue causing linker
+        failures since 1.5.1.
+
+2019-05-25  Moritz Bunkus  <mor...@bunkus.org>
+
+        * Released v1.5.1.
+
+        * Build system: libEBML 1.3.8 is now required.
+
+2019-05-19  evpobr  <evp...@gmail.com>
+
+        * Build system: various fixes to the cmake rules regarding
+        visibility, naming and building DLLs on Windows.
+
+2019-05-19  Steve Lhomme <rob...@ycbcr.xyz>
+
+        * KaxBlock: fixed a potential access to invalid memory due to
+        invalid lace sizes read from invalid data.
+
+        * KaxBlock: fixed a potential null pointer dereference triggerable
+        by reading invalid data.
+
 2019-03-12  Moritz Bunkus  <mor...@bunkus.org>
 
         * Released v1.5.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/MatroskaConfig.cmake 
new/libmatroska-1.5.2/MatroskaConfig.cmake
--- old/libmatroska-1.5.0/MatroskaConfig.cmake  2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/MatroskaConfig.cmake  1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-include(${CMAKE_CURRENT_LIST_DIR}/MatroskaTargets.cmake)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/MatroskaConfig.cmake.in 
new/libmatroska-1.5.2/MatroskaConfig.cmake.in
--- old/libmatroska-1.5.0/MatroskaConfig.cmake.in       1970-01-01 
01:00:00.000000000 +0100
+++ new/libmatroska-1.5.2/MatroskaConfig.cmake.in       2019-05-27 
15:46:27.000000000 +0200
@@ -0,0 +1,8 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(EBML REQUIRED)
+
+include(${CMAKE_CURRENT_LIST_DIR}/MatroskaTargets.cmake)
+
+check_required_components(Matroska)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/libmatroska.proj 
new/libmatroska-1.5.2/libmatroska.proj
--- old/libmatroska-1.5.0/libmatroska.proj      2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/libmatroska.proj      2019-05-27 15:46:27.000000000 
+0200
@@ -13,7 +13,7 @@
 
 LIB matroska
 {
-  PROJECT_VERSION 1.5.0
+  PROJECT_VERSION 1.5.2
   USE libmatroska_coremake_automake
 
   INCLUDE .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/matroska/KaxBlock.h 
new/libmatroska-1.5.2/matroska/KaxBlock.h
--- old/libmatroska-1.5.0/matroska/KaxBlock.h   2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/matroska/KaxBlock.h   2019-05-27 15:46:27.000000000 
+0200
@@ -205,7 +205,7 @@
     const KaxTrackEntry * ParentTrack;
 };
 
-class KaxInternalBlock : public EbmlBinary {
+class MATROSKA_DLL_API KaxInternalBlock : public EbmlBinary {
   public:
     KaxInternalBlock(EBML_DEF_CONS EBML_DEF_SEP bool bSimple EBML_DEF_SEP 
EBML_EXTRA_PARAM) :EBML_DEF_BINARY_INIT EBML_DEF_SEP bLocalTimecodeUsed(false), 
mLacing(LACING_AUTO), mInvisible(false)
       ,ParentCluster(NULL), bIsSimple(bSimple), bIsKeyframe(true), 
bIsDiscardable(false)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/matroska/KaxVersion.h 
new/libmatroska-1.5.2/matroska/KaxVersion.h
--- old/libmatroska-1.5.0/matroska/KaxVersion.h 2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/matroska/KaxVersion.h 2019-05-27 15:46:27.000000000 
+0200
@@ -40,7 +40,7 @@
 
 START_LIBMATROSKA_NAMESPACE
 
-#define LIBMATROSKA_VERSION 0x010500
+#define LIBMATROSKA_VERSION 0x010502
 
 extern const std::string KaxCodeVersion;
 extern const std::string KaxCodeDate;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/src/KaxBlock.cpp 
new/libmatroska-1.5.2/src/KaxBlock.cpp
--- old/libmatroska-1.5.0/src/KaxBlock.cpp      2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/src/KaxBlock.cpp      2019-05-27 15:46:27.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;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmatroska-1.5.0/src/KaxVersion.cpp 
new/libmatroska-1.5.2/src/KaxVersion.cpp
--- old/libmatroska-1.5.0/src/KaxVersion.cpp    2019-03-12 20:54:34.000000000 
+0100
+++ new/libmatroska-1.5.2/src/KaxVersion.cpp    2019-05-27 15:46:27.000000000 
+0200
@@ -37,7 +37,7 @@
 
 START_LIBMATROSKA_NAMESPACE
 
-const std::string KaxCodeVersion = "1.5.0";
+const std::string KaxCodeVersion = "1.5.2";
 
 // Up to version 1.4.4 this library exported a build date string. As
 // this made the build non-reproducible, replace it by a placeholder to


Reply via email to