gnu: libmwaw: Fix CVE-2017-9433.

* gnu/packages/patches/libmwaw-CVE-2017-9433.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/libreoffice.scm (libmwaw)[source]: Use it.
master
Leo Famulari 2017-06-11 22:18:53 -04:00
parent e3c9ab5f41
commit 34a0984e57
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
3 changed files with 35 additions and 0 deletions

View File

@ -742,6 +742,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
%D%/packages/patches/libmad-frame-length.patch \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libmwaw-CVE-2017-9433.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \

View File

@ -590,6 +590,7 @@ text documents, vector drawings, presentations and spreadsheets.")
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/" name "-"
version "/" name "-" version ".tar.xz"))
(patches (search-patches "libmwaw-CVE-2017-9433.patch"))
(sha256 (base32
"16i9s9p4sjpdpbm3gq6jkc9r3nyfy47ggkdlgh7vr0mydccklj2b"))))
(build-system gnu-build-system)

View File

@ -0,0 +1,33 @@
Fix CVE-2017-9433:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9433
Patch copied from upstream source repository:
https://sourceforge.net/p/libmwaw/libmwaw/ci/68b3b74569881248bfb6cbb4266177cc253b292f
From 68b3b74569881248bfb6cbb4266177cc253b292f Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Sat, 8 Apr 2017 14:03:29 +0200
Subject: [PATCH] ofz#1037 resize vector correctly
---
src/lib/MsWrd1Parser.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/MsWrd1Parser.cxx b/src/lib/MsWrd1Parser.cxx
index 63547e6..3626064 100644
--- a/src/lib/MsWrd1Parser.cxx
+++ b/src/lib/MsWrd1Parser.cxx
@@ -902,7 +902,7 @@ bool MsWrd1Parser::readFootnoteCorrespondance(MWAWVec2i limits)
int id = fIt++->second;
fPos[1] = fIt==footnoteMap.end() ? m_state->m_eot : fIt->first;
if (id >= int(m_state->m_footnotesList.size()))
- m_state->m_footnotesList.resize(size_t(id),MWAWVec2l(0,0));
+ m_state->m_footnotesList.resize(size_t(id)+1,MWAWVec2l(0,0));
m_state->m_footnotesList[size_t(id)]=fPos;
}
ascii().addDelimiter(input->tell(),'|');
--
2.13.1