From 652076614793f24bbd4f34cb8193269f6661486c Mon Sep 17 00:00:00 2001
From: Arun Subramaniyan <sarun2006k1in@gmail.com>
Date: Sat, 28 Nov 2020 16:58:17 -0500
Subject: [PATCH] Fix segmentation fault when prefetching empty mapped overflow
 table

---
 SNAPLib/GenericFile_map.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/SNAPLib/GenericFile_map.cpp b/SNAPLib/GenericFile_map.cpp
index 652e5b9..c789d24 100644
--- a/SNAPLib/GenericFile_map.cpp
+++ b/SNAPLib/GenericFile_map.cpp
@@ -29,6 +29,9 @@ Revision History:
 GenericFile_map *GenericFile_map::open(const char *filename)
 {
 	size_t fileSize = QueryFileSize(filename);
+	if (0 == fileSize) {
+		return new GenericFile_map(NULL, NULL, 0);
+	}
 	void *contents;
 	MemoryMappedFile *mappedFile = OpenMemoryMappedFile(filename, 0, fileSize, &contents);
 
@@ -58,7 +61,11 @@ GenericFile_map::~GenericFile_map()
 	_int64
 GenericFile_map::prefetch()
 {
-    AdviseMemoryMappedFilePrefetch(mappedFile);
+	if (NULL == mappedFile) {
+		return 0;
+	}
+
+	AdviseMemoryMappedFilePrefetch(mappedFile);
 	int pageSize = getpagesize();
 
 	_int64 total = 0;
