summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Kalinowski <julian.kalinowski@dataport.de>2020-03-31 12:45:31 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2020-03-31 14:02:02 +0200
commit169a10f0e4680814145b668c6320be04038d7a89 (patch)
treeef0add93284184305d2b7b2faab5569e75ce116d
parentf03ae4de04495dfaf30dbfbb8b3195dd78310da4 (diff)
Fix exception when accessing empty lock list
This fixes an Access Violation Exception when a WebDAV server says a resource is locked but does return an empty lockdiscovery element on WebDAV Propfind. Without this patch, the code only checks that a list exists, but it should also check if it contains elements before accessing it. Fixes tdf#128662 Change-Id: I5f555a9b5805102242392b018ab5a8009c7a203c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91412 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--sfx2/source/doc/docfile.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 3e103460be1b..09c6f8cbb6ed 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -1186,7 +1186,7 @@ SfxMedium::LockFileResult SfxMedium::LockOrigFileOnDemand(bool bLoading, bool bN
uno::Sequence<css::ucb::Lock> aLocks;
// getting the property, send a PROPFIND to the server over the net
- if (aContentToLock.getPropertyValue("DAV:lockdiscovery") >>= aLocks)
+ if ((aContentToLock.getPropertyValue("DAV:lockdiscovery") >>= aLocks) && aLocks.hasElements())
{
// got at least a lock, show the owner of the first lock returned
css::ucb::Lock aLock = aLocks[0];