diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2019-04-23 15:48:41 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-04-24 16:12:36 +0200 |
commit | cf01389718fb2ef84697542d69a7ee2c25e544fc (patch) | |
tree | 5c96327eecafb7fdce2dfef5b9b04fd05ccba205 /include | |
parent | 32948e7778b959ef1037d9be707a6bfc7db4160d (diff) |
lazy image loading shouldn't read the entire .xls file (tdf#124828)
b11188835d3b87cd changed msfilter to use
GraphicFilter::ImportUnloadedGraphic() to lazy-load images
from the document. However, that function in some cases simply
reads the entire rest of the passed SvStream, which in this case
is the entire .xls file. And the document from tdf#124828 is ~50MiB
and contains ~4000 images => 100+ GiB memory required.
Reviewed-on: https://gerrit.libreoffice.org/71136
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit af84fc9d906626255aaf136eefc5e55236e0e8a6)
Reviewed-on: https://gerrit.libreoffice.org/71221
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Change-Id: I74926383204ec642eabb28b62e2cf2e1ff8054a9
Reviewed-on: https://gerrit.libreoffice.org/71225
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/graphicfilter.hxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/vcl/graphicfilter.hxx b/include/vcl/graphicfilter.hxx index 2f24cf10e085..34083e41d153 100644 --- a/include/vcl/graphicfilter.hxx +++ b/include/vcl/graphicfilter.hxx @@ -294,7 +294,8 @@ public: css::uno::Sequence< css::beans::PropertyValue >* pFilterData, WmfExternal const *pExtHeader = nullptr ); - Graphic ImportUnloadedGraphic(SvStream& rIStream); + // Setting sizeLimit limits how much will be read from the stream. + Graphic ImportUnloadedGraphic(SvStream& rIStream, sal_uInt64 sizeLimit = 0); const FilterErrorEx& GetLastError() const { return *pErrorEx;} void ResetLastError(); |