[libreoffice] make handling busted extensions more robust
Caolan McNamara
caolanm at fedoraproject.org
Tue Jan 18 12:15:06 UTC 2011
commit a991cf4ce731cc80672f38a1a6ec9750c8e52899
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Jan 18 12:14:56 2011 +0000
make handling busted extensions more robust
...-pushback-and-process-a-corrupt-extension.patch | 26 +++++++++++++++
...-free-ctxt-after-taking-lastError-details.patch | 34 ++++++++++++++++++++
libreoffice.spec | 5 +++
3 files changed, 65 insertions(+), 0 deletions(-)
---
diff --git a/0001-don-t-pushback-and-process-a-corrupt-extension.patch b/0001-don-t-pushback-and-process-a-corrupt-extension.patch
new file mode 100644
index 0000000..a35f46c
--- /dev/null
+++ b/0001-don-t-pushback-and-process-a-corrupt-extension.patch
@@ -0,0 +1,26 @@
+From 0a8149b7e317b9f6d666f4fbcb649f9301da3581 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Tue, 18 Jan 2011 12:11:52 +0000
+Subject: [PATCH] don't pushback and process a corrupt extension
+
+---
+ .../deployment/registry/package/dp_package.cxx | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx
+index f31cf3f..9cbbf83 100644
+--- a/desktop/source/deployment/registry/package/dp_package.cxx
++++ b/desktop/source/deployment/registry/package/dp_package.cxx
+@@ -1618,7 +1618,8 @@ BackendImpl::PackageImpl::getPackagesFromDb(
+ Reference<deployment::XPackage> xExtension =
+ bindBundleItem(i->first, i->second, true, m_identifier, xCmdEnv);
+ OSL_ASSERT(xExtension.is());
+- retVector.push_back(xExtension);
++ if (xExtension.is())
++ retVector.push_back(xExtension);
+ }
+
+ return retVector;
+--
+1.7.3.4
+
diff --git a/0001-free-ctxt-after-taking-lastError-details.patch b/0001-free-ctxt-after-taking-lastError-details.patch
new file mode 100644
index 0000000..a6ec54e
--- /dev/null
+++ b/0001-free-ctxt-after-taking-lastError-details.patch
@@ -0,0 +1,34 @@
+From e7473329c8d79ba3988aa07172290beedcaaf325 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Tue, 18 Jan 2011 12:10:32 +0000
+Subject: [PATCH] free ctxt *after* taking lastError details
+
+---
+ unoxml/source/dom/documentbuilder.cxx | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx
+index bcce353..9e052c3 100644
+--- a/unoxml/source/dom/documentbuilder.cxx
++++ b/unoxml/source/dom/documentbuilder.cxx
+@@ -314,13 +314,13 @@ namespace DOM
+
+ } // extern "C"
+
+- void throwEx(xmlParserCtxtPtr ctxt) {
+- OUString msg = make_error_message(ctxt);
+- xmlFreeParserCtxt(ctxt);
++ void throwEx(xmlParserCtxtPtr ctxt)
++ {
+ com::sun::star::xml::sax::SAXParseException saxex;
+- saxex.Message = msg;
++ saxex.Message = make_error_message(ctxt);
+ saxex.LineNumber = static_cast<sal_Int32>(ctxt->lastError.line);
+ saxex.ColumnNumber = static_cast<sal_Int32>(ctxt->lastError.int2);
++ xmlFreeParserCtxt(ctxt);
+ throw saxex;
+ }
+
+--
+1.7.3.4
+
diff --git a/libreoffice.spec b/libreoffice.spec
index a23e3e2..5f9d7d2 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -100,6 +100,8 @@ Patch13: libreoffice-installfix.patch
Patch14: 0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch
Patch15: libreoffice-bootstrap-kde.patch
Patch16: 0001-fix-presenter-screens-description.xml-build.patch
+Patch17: 0001-don-t-pushback-and-process-a-corrupt-extension.patch
+Patch18: 0001-free-ctxt-after-taking-lastError-details.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%define instdir %{_libdir}
@@ -719,6 +721,8 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch14 -p1 -b .don-t-bail-out-on-mislength-records.patch
%patch15 -p1 -b .libreoffice-bootstrap-kde.patch
%patch16 -p1 -b .fix-presenter-screens-description.xml-build.patch
+%patch17 -p1 -b .don-t-pushback-and-process-a-corrupt-extension.patch
+%patch18 -p1 -b .free-ctxt-after-taking-lastError-details.patch
touch scripting/source/pyprov/delzip
touch scripting/util/provider/beanshell/delzip
touch scripting/util/provider/javascript/delzip
@@ -2061,6 +2065,7 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%changelog
* Tue Jan 18 2011 Caolán McNamara <caolanm at redhat.com> 3.3.0.3-2
- backport fix to get presenter screen working
+- make handling busted extensions more robust
* Wed Jan 12 2011 Caolán McNamara <caolanm at redhat.com> 3.3.0.3-1
- latest version
More information about the scm-commits
mailing list