diff options
| author | Dan Engelbrecht <[email protected]> | 2022-06-14 23:37:05 +0200 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-06-15 00:03:40 +0200 |
| commit | 0ba3a7d1c67de9b6d94f835f6e90a1f2e115f94c (patch) | |
| tree | 67297329596bb3fca10a879a0dddfac9c9d8a7af /zenserver/frontend/frontend.cpp | |
| parent | review feedback (diff) | |
| download | zen-0ba3a7d1c67de9b6d94f835f6e90a1f2e115f94c.tar.xz zen-0ba3a7d1c67de9b6d94f835f6e90a1f2e115f94c.zip | |
Make sure we don't try to create a ZipFS IoBuffer of zero size
Diffstat (limited to 'zenserver/frontend/frontend.cpp')
| -rw-r--r-- | zenserver/frontend/frontend.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/zenserver/frontend/frontend.cpp b/zenserver/frontend/frontend.cpp index 842587708..e203e0631 100644 --- a/zenserver/frontend/frontend.cpp +++ b/zenserver/frontend/frontend.cpp @@ -26,7 +26,7 @@ FindZipFsInBinary(const IoBuffer& BinBuffer) uintptr_t Cursor = uintptr_t(BinBuffer.GetData()); size_t BinSize = 0; - uint32_t Magic = *(uint32_t*)(BinBuffer.GetData()); + uint32_t Magic = *(uint32_t*)(Cursor); #if ZEN_PLATFORM_LINUX if (Magic == 0x464c457f) { @@ -134,6 +134,12 @@ FindZipFsInBinary(const IoBuffer& BinBuffer) return {}; } + size_t ZipFsSize = BinBuffer.Size() - BinSize; + if (!ZipFsSize) + { + return {}; + } + return IoBuffer(BinBuffer, BinSize); } |