diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-01-10 19:30:32 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-01-12 14:40:00 +0100 |
commit | b345a2bab0d6f981049951a86b172ce49ce7d4c2 (patch) | |
tree | e5494b833217b496af36998094e49247cf486762 /vcl/source | |
parent | 9b0c4607d0cf2103c096b9571af184ac7a6cc11d (diff) |
cid#1470786 Uncaught exception
Change-Id: I85e75e40c9280b16b12ea268b5070f0ce450208e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109061
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/gdi/impgraph.cxx | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx index eba12fd26c44..83e3a196d030 100644 --- a/vcl/source/gdi/impgraph.cxx +++ b/vcl/source/gdi/impgraph.cxx @@ -1117,27 +1117,34 @@ bool ImpGraphic::swapInContent(SvStream& rStream) sal_Int32 nType; sal_Int32 nLength; - rStream.ReadUInt32(nId); - - // check version - if (SWAP_FORMAT_ID != nId) + try { - SAL_WARN("vcl", "Incompatible swap file!"); - return false; - } + rStream.ReadUInt32(nId); - rStream.ReadInt32(nType); - rStream.ReadInt32(nLength); + // check version + if (SWAP_FORMAT_ID != nId) + { + SAL_WARN("vcl", "Incompatible swap file!"); + return false; + } - meType = static_cast<GraphicType>(nType); + rStream.ReadInt32(nType); + rStream.ReadInt32(nLength); - if (meType == GraphicType::NONE || meType == GraphicType::Default) - { - return true; + meType = static_cast<GraphicType>(nType); + + if (meType == GraphicType::NONE || meType == GraphicType::Default) + { + return true; + } + else + { + bRet = swapInGraphic(rStream); + } } - else + catch (const SvStreamEOFException&) { - bRet = swapInGraphic(rStream); + SAL_WARN("vcl", "EOF"); } return bRet; |