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)
