From b4de0b9b8248b03fef320bfd85aa4001e6627cb7 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sun, 27 Apr 2014 20:41:43 -0700 Subject: [PATCH] Fix crash on zero-length lua files --- libaegisub/common/file_mapping.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libaegisub/common/file_mapping.cpp b/libaegisub/common/file_mapping.cpp index 5401564f0..1ef81203f 100644 --- a/libaegisub/common/file_mapping.cpp +++ b/libaegisub/common/file_mapping.cpp @@ -35,6 +35,9 @@ char *map(int64_t s_offset, uint64_t length, boost::interprocess::mode_t mode, uint64_t file_size, agi::file_mapping const& file, std::unique_ptr& region, uint64_t& mapping_start) { + static char dummy = 0; + if (length == 0) return &dummy; + auto offset = static_cast(s_offset); if (offset + length > file_size) throw agi::InternalError("Attempted to map beyond end of file", nullptr);