summaryrefslogtreecommitdiff
path: root/sd/source/ui/unoidl/sddetect.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/unoidl/sddetect.cxx')
-rw-r--r--sd/source/ui/unoidl/sddetect.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx
index 853c38e9f2d0..2ec197365197 100644
--- a/sd/source/ui/unoidl/sddetect.cxx
+++ b/sd/source/ui/unoidl/sddetect.cxx
@@ -352,6 +352,17 @@ OUString SAL_CALL SdFilterDetect::detect( Sequence< beans::PropertyValue >& lDes
pStm = aMedium.GetInStream();
if (!pStm)
pFilter = NULL;
+
+ pStm->Seek(STREAM_SEEK_TO_END);
+ const sal_Size nSize = pStm->Tell();
+ pStm->Seek(STREAM_SEEK_TO_BEGIN);
+
+ // Do not attempt to create an SotStorage on a
+ // 0-length stream as that would create the compound
+ // document header on the stream and effectively write to
+ // disk!
+ if (!nSize)
+ pFilter = NULL;
}
if (pFilter && pStm)