external/libetonyek/UnpackedTarball_libetonyek.mk | 1 external/libetonyek/forcepoint.parsepath.null.deref.patch | 44 ++++++++++++++ 2 files changed, 45 insertions(+)
New commits: commit e8cee7877823003e05e29f76187ea574610ef979 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Dec 18 21:11:13 2018 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Dec 19 09:54:19 2018 +0100 forcepoint#77 null-deref Change-Id: Ib4d546f1e44eb6a682ec7cbbaab7a0a2050ffa1c Reviewed-on: https://gerrit.libreoffice.org/65377 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk index d90e44955687..eb38615ffe31 100644 --- a/external/libetonyek/UnpackedTarball_libetonyek.mk +++ b/external/libetonyek/UnpackedTarball_libetonyek.mk @@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\ external/libetonyek/rpath.patch \ external/libetonyek/warnings.patch \ external/libetonyek/initial-creator.patch.1 \ + external/libetonyek/forcepoint.parsepath.null.deref.patch \ )) ifneq ($(OS),MACOSX) diff --git a/external/libetonyek/forcepoint.parsepath.null.deref.patch b/external/libetonyek/forcepoint.parsepath.null.deref.patch new file mode 100644 index 000000000000..2cdf6a5a34c2 --- /dev/null +++ b/external/libetonyek/forcepoint.parsepath.null.deref.patch @@ -0,0 +1,44 @@ +diff -ru src/lib/IWAParser.cpp libetonyek/src/lib/IWAParser.cpp +--- src/lib/IWAParser.cpp 2018-12-18 21:02:45.772942197 +0000 ++++ src/lib/IWAParser.cpp 2018-12-18 21:05:04.758548097 +0000 +@@ -998,7 +998,14 @@ + if (get(type) == 1) + path->appendMoveTo(get(coords).m_x, get(coords).m_y); + else ++ { ++ if (path->empty()) ++ { ++ ETONYEK_DEBUG_MSG(("IWAParser::parsePath: missing prior MoveTo subsequent LineTo\n", get(type) == 1 ? 'M' : 'L')); ++ return false; ++ } + path->appendLineTo(get(coords).m_x, get(coords).m_y); ++ } + break; + } + case 4 : +diff -ru src/lib/IWORKPath.cpp libetonyek/src/lib/IWORKPath.cpp +--- src/lib/IWORKPath.cpp 2018-12-18 21:02:45.775942059 +0000 ++++ src/lib/IWORKPath.cpp 2018-12-18 21:03:39.289480143 +0000 +@@ -594,6 +594,11 @@ + m_impl->m_closed = false; + } + ++bool IWORKPath::empty() const ++{ ++ return m_impl->m_path.empty(); ++} ++ + void IWORKPath::appendMoveTo(const double x, const double y) + { + if (!m_impl->m_path.empty() && m_impl->m_path.back().size()<=1) +diff -ru src/lib/IWORKPath.h libetonyek/src/lib/IWORKPath.h +--- src/lib/IWORKPath.h 2018-12-18 21:02:45.772942197 +0000 ++++ src/lib/IWORKPath.h 2018-12-18 21:05:48.323543888 +0000 +@@ -42,6 +42,7 @@ + void swap(IWORKPath &other); + + void clear(); ++ bool empty() const; + + void appendMoveTo(double x, double y); + void appendLineTo(double x, double y); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits