summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-01-10 19:30:32 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-01-12 14:40:00 +0100
commitb345a2bab0d6f981049951a86b172ce49ce7d4c2 (patch)
treee5494b833217b496af36998094e49247cf486762 /vcl/source
parent9b0c4607d0cf2103c096b9571af184ac7a6cc11d (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.cxx37
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;