summaryrefslogtreecommitdiffstats
path: root/base/mapped_file_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'base/mapped_file_test.cpp')
-rw-r--r--base/mapped_file_test.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/base/mapped_file_test.cpp b/base/mapped_file_test.cpp
index 7e89723c6..cfde73c74 100644
--- a/base/mapped_file_test.cpp
+++ b/base/mapped_file_test.cpp
@@ -25,7 +25,6 @@
#include <string>
#include "android-base/file.h"
-#include "android-base/unique_fd.h"
TEST(mapped_file, smoke) {
TemporaryFile tf;
@@ -37,3 +36,13 @@ TEST(mapped_file, smoke) {
ASSERT_EQ('l', m->data()[0]);
ASSERT_EQ('o', m->data()[1]);
}
+
+TEST(mapped_file, zero_length_mapping) {
+ // http://b/119818070 "app crashes when reading asset of zero length".
+ // mmap fails with EINVAL for a zero length region.
+ TemporaryFile tf;
+ ASSERT_TRUE(tf.fd != -1);
+
+ auto m = android::base::MappedFile::FromFd(tf.fd, 4096, 0, PROT_READ);
+ ASSERT_EQ(0u, m->size());
+}