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?= +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 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?= +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(ctxt->lastError.line); + saxex.ColumnNumber = static_cast(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 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 3.3.0.3-1 - latest version