Index: base/memory/discardable_shared_memory.cc |
diff --git a/base/memory/discardable_shared_memory.cc b/base/memory/discardable_shared_memory.cc |
index 7449f462e68ea4936b6c381239b316da59862594..acae29eabadec0a16de0ed5e0e43f672d3faddca 100644 |
--- a/base/memory/discardable_shared_memory.cc |
+++ b/base/memory/discardable_shared_memory.cc |
@@ -221,6 +221,10 @@ DiscardableSharedMemory::LockResult DiscardableSharedMemory::Lock( |
DCHECK_EQ(locked_pages_.size(), locked_page_count_); |
#endif |
+ // Always behave as if memory was purged when trying to lock a 0 byte segment. |
+ if (!length) |
+ return PURGED; |
+ |
// Pin pages if supported. |
#if defined(OS_ANDROID) |
SharedMemoryHandle handle = shared_memory_.handle(); |