cppuhelper/source/typedescriptionprovider.cxx | 8 ++++++++ 1 file changed, 8 insertions(+)
New commits: commit 22a722320e5c7c94eacd8aab707c941755b08512 Author: Stephan Bergmann <sberg...@redhat.com> Date: Sat Feb 2 18:09:59 2013 +0100 Missing reading of # members of polystruct Change-Id: I343a3e6d57e8f9e1a35cdf3b5825f5a6f58fd133 diff --git a/cppuhelper/source/typedescriptionprovider.cxx b/cppuhelper/source/typedescriptionprovider.cxx index 7946846..35db672 100644 --- a/cppuhelper/source/typedescriptionprovider.cxx +++ b/cppuhelper/source/typedescriptionprovider.cxx @@ -2483,6 +2483,14 @@ css::uno::Any Provider::getByHierarchicalName(rtl::OUString const & aName) for (sal_uInt32 i = 0; i != n; ++i) { params.push_back(file_->readNameLen(off, &off)); } + n = file_->read32(off + 1); + if (n > SAL_MAX_INT32) { + throw css::uno::DeploymentException( + ("broken UNOIDL file: too many members of polymorphic" + " struct type template " + aName), + css::uno::Reference< css::uno::XInterface >()); + } + off += 4; std::vector< PolymorphicStructTypeTemplateDescription::Member > mems; for (sal_uInt32 i = 0; i != n; ++i) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits