summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2020-09-28 10:20:07 +0200
committerMiklos Vajna <vmiklos@collabora.com>2020-09-28 10:50:46 +0200
commit2b546f72dec43d8ac3bc24c1f767ceb7f617d9be (patch)
tree259d56b5f70248b7a3f8e87eb7c7d3af16fd1c9e
parente080b8af04eff9a36ee81a5a4747a31f992ab71d (diff)
document broker: handle tile request without tile cache
Change-Id: I5e0006cde07a84e6553db92627fdab943ac51d04 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/103534 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
-rw-r--r--fuzzer/data/crash-91bfaabb3dea7c9d496e4aa7d06c2eed2b64b49ebin0 -> 365 bytes
-rw-r--r--wsd/DocumentBroker.cpp6
2 files changed, 6 insertions, 0 deletions
diff --git a/fuzzer/data/crash-91bfaabb3dea7c9d496e4aa7d06c2eed2b64b49e b/fuzzer/data/crash-91bfaabb3dea7c9d496e4aa7d06c2eed2b64b49e
new file mode 100644
index 000000000..343599776
--- /dev/null
+++ b/fuzzer/data/crash-91bfaabb3dea7c9d496e4aa7d06c2eed2b64b49e
Binary files differ
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 909c8db1b..701aebbb9 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -1744,6 +1744,12 @@ void DocumentBroker::handleTileRequest(TileDesc& tile,
const std::string tileMsg = tile.serialize();
LOG_TRC("Tile request for " << tileMsg);
+ if (!hasTileCache())
+ {
+ LOG_WRN("Tile request without a loaded document?");
+ return;
+ }
+
TileCache::Tile cachedTile = _tileCache->lookupTile(tile);
if (cachedTile)
{