Hello community,

here is the log from the commit of package libmirage for openSUSE:Factory 
checked in at 2015-11-26 17:03:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmirage (Old)
 and      /work/SRC/openSUSE:Factory/.libmirage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libmirage"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libmirage/libmirage.changes      2015-07-25 
07:44:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libmirage.new/libmirage.changes 2015-11-26 
17:03:59.000000000 +0100
@@ -1,0 +2,15 @@
+Mon Nov 23 20:34:07 UTC 2015 - [email protected]
+
+- Update to 3.0.4:
+  * CUE, CCD, TOC, XCDRoast parsers: Fix a crash due to invalid
+    read attempts on uninitialised regex match info structure.
+  * MDS, MDX parser: Fix a memory leak.
+  * CIF parser: Fix signature matching.
+  * CIF parser: Improve pretty-print of some values.
+  * CIF parser: Fix track length calculation.
+  * CMake: Replace whitespaces in custom target names with "-"
+    signs (silence CMP0037 warnings on CMake 3.2.2 and newer).
+- Add missing MIME compilation.
+- Use %cmake macro.
+
+-------------------------------------------------------------------

Old:
----
  libmirage-3.0.3.tar.bz2

New:
----
  libmirage-3.0.4.tar.bz2

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

Other differences:
------------------
++++++ libmirage.spec ++++++
--- /var/tmp/diff_new_pack.ZhmgGL/_old  2015-11-26 17:04:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ZhmgGL/_new  2015-11-26 17:04:00.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libmirage
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -22,14 +22,14 @@
 Summary:        A CD-ROM image access library
 License:        GPL-2.0+
 Group:          Development/Libraries/C and C++
-Version:        3.0.3
+Version:        3.0.4
 Release:        0
 Url:            http://cdemu.sf.net/about/libmirage/
 
 #Git-Clone:     git://git.code.sf.net/p/cdemu/code
 Source:         http://downloads.sf.net/cdemu/%name-%version.tar.bz2
 BuildRequires:  cmake >= 2.8.5
-BuildRequires:  pkgconfig >= 0.16
+BuildRequires:  pkg-config >= 0.16
 BuildRequires:  pkgconfig(bzip2) >= 1.0.0
 BuildRequires:  pkgconfig(glib-2.0) >= 2.28
 BuildRequires:  pkgconfig(gmodule-2.0) >= 2.28
@@ -38,6 +38,7 @@
 BuildRequires:  pkgconfig(gtk-doc) >= 1.4
 BuildRequires:  pkgconfig(liblzma) >= 5.0.0
 BuildRequires:  pkgconfig(samplerate) >= 0.1.0
+BuildRequires:  pkgconfig(shared-mime-info)
 BuildRequires:  pkgconfig(sndfile) >= 1.0.0
 BuildRequires:  pkgconfig(zlib) >= 1.2.0
 
@@ -104,7 +105,7 @@
 This package contains the MIME type definitions and documentation.
 
 %package -n typelib-1_0-libmirage-%pname
-Summary:        The libmirage CD-ROM image access library - introspection 
bindings
+Summary:        The libmirage CD-ROM image access library – introspection 
bindings
 Group:          System/Libraries
 
 %description -n typelib-1_0-libmirage-%pname
@@ -118,17 +119,21 @@
 %setup -q
 
 %build
-cmake . \
-       -DCMAKE_INSTALL_PREFIX:PATH="%_prefix" \
-       -DCMAKE_C_FLAGS:STRING="%optflags"
+%cmake -DCMAKE_MODULE_LINKER_FLAGS=""
 make %{?_smp_mflags}
 
 %install
-make install DESTDIR="%buildroot"
+%cmake_install
 
 %post   -n %lname -p /sbin/ldconfig
 %postun -n %lname -p /sbin/ldconfig
 
+%post data
+%mime_database_post
+
+%postun data
+%mime_database_postun
+
 %files -n %lname
 %defattr(-,root,root)
 %_libdir/libmirage.so.10*

++++++ libmirage-3.0.3.tar.bz2 -> libmirage-3.0.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/CMakeLists.txt 
new/libmirage-3.0.4/CMakeLists.txt
--- old/libmirage-3.0.3/CMakeLists.txt  2014-11-09 19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/CMakeLists.txt  2015-11-21 14:54:15.000000000 +0100
@@ -6,7 +6,7 @@
 # Release versioning:
 set (MIRAGE_VERSION_MAJOR 3)
 set (MIRAGE_VERSION_MINOR 0)
-set (MIRAGE_VERSION_MICRO 3)
+set (MIRAGE_VERSION_MICRO 4)
 set (MIRAGE_VERSION_LONG 
${MIRAGE_VERSION_MAJOR}.${MIRAGE_VERSION_MINOR}.${MIRAGE_VERSION_MICRO})
 set (MIRAGE_VERSION_SHORT ${MIRAGE_VERSION_MAJOR}.${MIRAGE_VERSION_MINOR})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/README new/libmirage-3.0.4/README
--- old/libmirage-3.0.3/README  2014-11-09 19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/README  2015-11-21 14:54:15.000000000 +0100
@@ -1,5 +1,5 @@
 libMirage
-3.0.3
+3.0.4
 ~~~~~
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/cmake/GObjectIntrospection.cmake 
new/libmirage-3.0.4/cmake/GObjectIntrospection.cmake
--- old/libmirage-3.0.3/cmake/GObjectIntrospection.cmake        2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/cmake/GObjectIntrospection.cmake        2015-11-21 
14:54:15.000000000 +0100
@@ -224,7 +224,7 @@
     )
 
     # Actual target
-    add_custom_target("${GIR_LIBRARY} typelib" ALL DEPENDS ${GIR_LIBRARY} 
${GIR_FILENAME} ${GIR_TYPELIB})
+    add_custom_target("${GIR_LIBRARY}-typelib" ALL DEPENDS ${GIR_LIBRARY} 
${GIR_FILENAME} ${GIR_TYPELIB})
     install(
         FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_TYPELIB}
         DESTINATION ${GIR_TYPELIBDIR}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/cmake/GtkDoc.cmake 
new/libmirage-3.0.4/cmake/GtkDoc.cmake
--- old/libmirage-3.0.3/cmake/GtkDoc.cmake      2014-11-09 19:01:10.000000000 
+0100
+++ new/libmirage-3.0.4/cmake/GtkDoc.cmake      2015-11-21 14:54:15.000000000 
+0100
@@ -114,7 +114,7 @@
     )
 
     # Actual target
-    add_custom_target ("gtkdoc ${GTKDOC_MODULE}" ALL
+    add_custom_target ("gtkdoc-${GTKDOC_MODULE}" ALL
         DEPENDS ${GTKDOC_DOCS_BUILDDIR}/scan.stamp
         ${GTKDOC_DOCS_BUILDDIR}/sgml.stamp
         ${GTKDOC_DOCS_BUILDDIR}/html.stamp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/debian/changelog 
new/libmirage-3.0.4/debian/changelog
--- old/libmirage-3.0.3/debian/changelog        2014-11-09 19:01:10.000000000 
+0100
+++ new/libmirage-3.0.4/debian/changelog        2015-11-21 14:54:15.000000000 
+0100
@@ -1,3 +1,7 @@
+libmirage (3.0.4-1) debian; urgency=low
+  * Updated to 3.0.4
+ -- Rok Mandeljc <[email protected]>  Sat, 21 Nov 2015 12:00:00 +0100
+
 libmirage (3.0.3-1) debian; urgency=low
   * Initial Release. Closes: #705409
  -- Henrik Stokseth <[email protected]>  Sat, 05 Apr 2014 12:00:00 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/debian/gir1.2-mirage-3.0.install 
new/libmirage-3.0.4/debian/gir1.2-mirage-3.0.install
--- old/libmirage-3.0.3/debian/gir1.2-mirage-3.0.install        2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/debian/gir1.2-mirage-3.0.install        2015-11-21 
14:54:15.000000000 +0100
@@ -1,2 +1,2 @@
-usr/lib/girepository-1.0/*
+usr/lib/*/girepository-1.0/*
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-ccd/parser.c 
new/libmirage-3.0.4/images/image-ccd/parser.c
--- old/libmirage-3.0.3/images/image-ccd/parser.c       2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-ccd/parser.c       2015-11-21 
14:54:15.000000000 +0100
@@ -1067,6 +1067,7 @@
 
                 /* Must be freed in any case */
                 g_match_info_free(match_info);
+                match_info = NULL;
 
                 /* Break if we had a match */
                 if (matched) {
@@ -1090,6 +1091,7 @@
 
                 /* Must be freed in any case */
                 g_match_info_free(match_info);
+                match_info = NULL;
 
                 /* Break if we had a match */
                 if (matched) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-cif/image-cif.h 
new/libmirage-3.0.4/images/image-cif/image-cif.h
--- old/libmirage-3.0.3/images/image-cif/image-cif.h    2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-cif/image-cif.h    2015-11-21 
14:54:15.000000000 +0100
@@ -62,19 +62,21 @@
 http://en.wikipedia.org/wiki/Resource_Interchange_File_Format
 */
 
+#define CIF_MIN_TRACK_LEN 300 /* Minimum amount of frames per track */
+
 #pragma pack(1)
 
 typedef struct
 {
     gchar riff[4]; /* "RIFF" */
-    guint32 length; /* Length of block (including this field) */
+    guint32 length; /* Length of block (including the type field) */
     gchar type[4];
 } CIF_Header; /* length: 12 bytes */
 
 typedef struct
 {
     gchar riff[4]; /* "RIFF" */
-    guint32 length; /* Length of block this entry points to (plus four bytes) 
*/
+    guint32 length; /* Length of block this entry points to */
     gchar type[4]; /* "adio", "info" */
     guint32 offset; /* Offset of track block in image */
     guint8 dummy[6]; /* (unknown) */
@@ -127,10 +129,10 @@
     guint8 dummy1[205];
     gchar isrc[12]; /* ISRC */
     guint8 dummy2[28];
-    guint16 fadein_length;
-    guint16 dummy3[5];
-    guint16 fadeout_length;
-    guint16 dummy4[5];
+    guint32 fadein_length; /* Measured in frames */
+    guint32 dummy3[2];
+    guint32 fadeout_length; /* Measured in frames */
+    guint32 dummy4[2];
     gchar title[]; /* Zero-terminated string. */
 } CIF_AudioTrackDescriptor; /* length: 269 bytes + variable title */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-cif/parser.c 
new/libmirage-3.0.4/images/image-cif/parser.c
--- old/libmirage-3.0.3/images/image-cif/parser.c       2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-cif/parser.c       2015-11-21 
14:54:15.000000000 +0100
@@ -23,7 +23,7 @@
 
 
 static const guint8 riff_signature[4] = { 'R', 'I', 'F', 'F' };
-static const guint8 imag_signature[4] = { 'I', 'M', 'A', 'G' };
+static const guint8 imag_signature[4] = { 'i', 'm', 'a', 'g' };
 static const guint8  ofs_signature[4] = { 'o', 'f', 's', ' ' };
 static const guint8 disc_signature[4] = { 'd', 'i', 's', 'c' };
 
@@ -188,14 +188,22 @@
     MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - sector data size: %d 
(0x%X)\n", __debug__, descriptor->sector_data_size, 
descriptor->sector_data_size);
 
     if ((CIF_Track) descriptor->type == AUDIO) {
-        audio_descriptor->fadein_length = 
GUINT16_FROM_LE(audio_descriptor->fadein_length);
-        audio_descriptor->fadeout_length = 
GUINT16_FROM_LE(audio_descriptor->fadeout_length);
+        gchar *fadeinlen, *fadeoutlen;
+
+        audio_descriptor->fadein_length = 
GUINT32_FROM_LE(audio_descriptor->fadein_length);
+        audio_descriptor->fadeout_length = 
GUINT32_FROM_LE(audio_descriptor->fadeout_length);
+
+        fadeinlen = mirage_helper_lba2msf_str(audio_descriptor->fadein_length, 
FALSE);
+        fadeoutlen = 
mirage_helper_lba2msf_str(audio_descriptor->fadeout_length, FALSE);
 
         MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: Audio track 
descriptor:\n", __debug__);
         MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - ISRC: %.12s\n", 
__debug__, audio_descriptor->isrc);
-        MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - fade-out length: %d 
(0x%X)\n", __debug__, audio_descriptor->fadeout_length, 
audio_descriptor->fadeout_length);
-        MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - fade-in length: %d 
(0x%X)\n", __debug__, audio_descriptor->fadein_length, 
audio_descriptor->fadein_length);
+        MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - fade-out length: %s 
(%d)\n", __debug__, fadeoutlen, audio_descriptor->fadeout_length);
+        MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - fade-in length: %s 
(%d)\n", __debug__, fadeinlen, audio_descriptor->fadein_length);
         MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s:  - title: \"%s\"\n", 
__debug__, audio_descriptor->title);
+
+        g_free(fadeinlen);
+        g_free(fadeoutlen);
     }
     MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "\n");
 
@@ -235,15 +243,15 @@
     }
 
     /* Compute the actual track length */
-    if (offset_entry->length % sector_size) {
-        MIRAGE_DEBUG(self, MIRAGE_DEBUG_WARNING, "%s: declared data chunk 
length (%d) not divisible by sector size (%d)!\n", __debug__, 
offset_entry->length, sector_size);
-        g_set_error(error, MIRAGE_ERROR, MIRAGE_ERROR_PARSER_ERROR, "Declared 
data chunk length (%d) not divisible by sector size (%d)!\n", 
offset_entry->length, sector_size);
-        return NULL;
-    }
-    track_length = offset_entry->length / sector_size;
+    track_length = MAX(descriptor->num_sectors, CIF_MIN_TRACK_LEN);
     MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: computed track length: %d 
(0x%X)\n", __debug__, track_length, track_length);
-    MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: difference between declared 
and computed track length: %d (0x%X)\n", __debug__, descriptor->num_sectors - 
track_length, descriptor->num_sectors - track_length);
 
+    /* Sanity check */
+    if (track_length * sector_size > offset_entry->length) {
+        MIRAGE_DEBUG(self, MIRAGE_DEBUG_WARNING, "%s: sanity check failed!\n", 
__debug__);
+        g_set_error(error, MIRAGE_ERROR, MIRAGE_ERROR_PARSER_ERROR, "Sanity 
check failed!");
+        return FALSE;
+    }
 
     /* Create new track */
     track = g_object_new(MIRAGE_TYPE_TRACK, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-cue/parser.c 
new/libmirage-3.0.4/images/image-cue/parser.c
--- old/libmirage-3.0.3/images/image-cue/parser.c       2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-cue/parser.c       2015-11-21 
14:54:15.000000000 +0100
@@ -872,6 +872,7 @@
 
             /* Must be freed in any case */
             g_match_info_free(match_info);
+            match_info = NULL;
 
             /* Break if we had a match */
             if (matched) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-mds/parser.c 
new/libmirage-3.0.4/images/image-mds/parser.c
--- old/libmirage-3.0.3/images/image-mds/parser.c       2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-mds/parser.c       2015-11-21 
14:54:15.000000000 +0100
@@ -190,10 +190,10 @@
 
         g_regex_unref(mds_regex);
         g_free(ext);
-        g_match_info_free(match_info);
     } else {
         bin_filename = g_strdup(declared_filename);
     }
+    g_match_info_free(match_info);
     g_regex_unref(ext_regex);
 
     bin_fullpath = mirage_helper_find_data_file(bin_filename, mds_filename);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-mdx/parser.c 
new/libmirage-3.0.4/images/image-mdx/parser.c
--- old/libmirage-3.0.3/images/image-mdx/parser.c       2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-mdx/parser.c       2015-11-21 
14:54:15.000000000 +0100
@@ -128,10 +128,10 @@
 
         g_regex_unref(mds_regex);
         g_free(ext);
-        g_match_info_free(match_info);
     } else {
         bin_filename = g_strdup(declared_filename);
     }
+    g_match_info_free(match_info);
     g_regex_unref(ext_regex);
 
     bin_fullpath = mirage_helper_find_data_file(bin_filename, mds_filename);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-toc/parser.c 
new/libmirage-3.0.4/images/image-toc/parser.c
--- old/libmirage-3.0.3/images/image-toc/parser.c       2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-toc/parser.c       2015-11-21 
14:54:15.000000000 +0100
@@ -1039,6 +1039,7 @@
 
                 /* Must be freed in any case */
                 g_match_info_free(match_info);
+                match_info = NULL;
 
                 /* Break if we had a match */
                 if (matched) {
@@ -1057,6 +1058,7 @@
                     matched = TRUE;
                 }
                 g_match_info_free(match_info);
+                match_info = NULL;
             }
         } else {
             /* Append the line to CDTEXT string */
@@ -1081,6 +1083,7 @@
             }
 
             g_match_info_free(match_info);
+            match_info = NULL;
         }
 
         /* Complain if we failed to match the line (should it be fatal?) */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.0.3/images/image-xcdroast/parser.c 
new/libmirage-3.0.4/images/image-xcdroast/parser.c
--- old/libmirage-3.0.3/images/image-xcdroast/parser.c  2014-11-09 
19:01:10.000000000 +0100
+++ new/libmirage-3.0.4/images/image-xcdroast/parser.c  2015-11-21 
14:54:15.000000000 +0100
@@ -620,6 +620,7 @@
 
             /* Must be freed in any case */
             g_match_info_free(match_info);
+            match_info = NULL;
 
             /* Break if we had a match */
             if (matched) {
@@ -702,6 +703,7 @@
 
             /* Must be freed in any case */
             g_match_info_free(match_info);
+            match_info = NULL;
 
             /* Break if we had a match */
             if (matched) {


Reply via email to