Hello community,

here is the log from the commit of package udftools for openSUSE:Factory 
checked in at 2015-11-24 22:33:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/udftools (Old)
 and      /work/SRC/openSUSE:Factory/.udftools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "udftools"

Changes:
--------
--- /work/SRC/openSUSE:Factory/udftools/udftools.changes        2015-06-23 
11:56:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.udftools.new/udftools.changes   2015-11-24 
22:33:47.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Nov 16 14:12:44 UTC 2015 - [email protected]
+
+- Adding patch for fixing segfault (bnc#743773)
+  File: udftools-1.0.0b3-extend-extsize.patch
+
+-------------------------------------------------------------------

New:
----
  udftools-1.0.0b3-extend-extsize.patch

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

Other differences:
------------------
++++++ udftools.spec ++++++
--- /var/tmp/diff_new_pack.d7SFap/_old  2015-11-24 22:33:48.000000000 +0100
+++ /var/tmp/diff_new_pack.d7SFap/_new  2015-11-24 22:33:48.000000000 +0100
@@ -34,6 +34,7 @@
 Patch5:         udftools-HZ.patch
 Patch6:         udftools-open.patch
 Patch7:         udftools-wrong-memset.patch
+Patch8:         udftools-1.0.0b3-extend-extsize.patch 
 BuildRequires:  libtool
 BuildRequires:  readline-devel
 Provides:       udf = %{version}
@@ -55,6 +56,7 @@
 %patch5
 %patch6
 %patch7 -p1
+%patch8 -p1
 
 %build
 cc %{optflags} cdmrw.c -o cdmrw

++++++ udftools-1.0.0b3-extend-extsize.patch ++++++
diff -up udftools-1.0.0b3/libudffs/extent.c.extsize 
udftools-1.0.0b3/libudffs/extent.c
--- udftools-1.0.0b3/libudffs/extent.c.extsize  2012-01-26 09:45:22.217856499 
+0100
+++ udftools-1.0.0b3/libudffs/extent.c  2012-01-26 09:45:43.142855067 +0100
@@ -50,7 +50,7 @@ cont:
        while (start_ext != NULL && start_ext->blocks < blocks)
                start_ext = next_extent(start_ext->next, type);
 
-       if (start_ext->start % offset)
+       if (start_ext != NULL && start_ext->start % offset)
        {
                inc = offset - (start_ext->start % offset);
                if (start_ext->blocks - inc < blocks)
@@ -62,7 +62,7 @@ cont:
        else
                inc = 0;
 
-       return start_ext->start + inc;
+       return start_ext ? start_ext->start + inc : NULL;
 }
 
 struct udf_extent *prev_extent(struct udf_extent *start_ext, enum 
udf_space_type type)
@@ -81,7 +81,7 @@ cont:
        while (start_ext != NULL && start_ext->blocks < blocks)
                start_ext = prev_extent(start_ext->prev, type);
 
-       if ((start_ext->start + start_ext->blocks) % offset)
+       if (start_ext != NULL && (start_ext->start + start_ext->blocks) % 
offset)
        {
                dec = (start_ext->start + start_ext->blocks) % offset;
                if (start_ext->blocks - dec < blocks)
@@ -93,7 +93,7 @@ cont:
        else
                dec = 0;
 
-       return start_ext->start + start_ext->blocks - dec - blocks;
+       return start_ext ? start_ext->start + start_ext->blocks - dec - blocks 
: NULL;
 }
 
 struct udf_extent *find_extent(struct udf_disc *disc, uint32_t start)

Reply via email to