summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-10-08 17:35:45 +0100
committerNarayan Kamath <narayan@google.com>2014-10-08 17:37:38 +0100
commit9ea09757fa63ad2a9bea9c846b51c1210d69c79f (patch)
treef38be59a3fb4c0d08c2df0e2f815c1b63874219d
parent7830ef3dd0ff3749d974c2dd85a8fa59dc47aeca (diff)
downloadnative-9ea09757fa63ad2a9bea9c846b51c1210d69c79f.tar.gz
Fix broken error check in Parcel::readBlob
mmap returns MAP_FAILED (which is -1) and not NULL on failure. Diagnosed by cferris. bug: 17909809 Change-Id: I609788ebf94742ef88af002d2d3f3bc9b9e520ac
-rw-r--r--libs/binder/Parcel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index f61eacae87..1dbb06fefb 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -1281,7 +1281,7 @@ status_t Parcel::readBlob(size_t len, ReadableBlob* outBlob) const
if (fd == int(BAD_TYPE)) return BAD_VALUE;
void* ptr = ::mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0);
- if (!ptr) return NO_MEMORY;
+ if (ptr == MAP_FAILED) return NO_MEMORY;
outBlob->init(true /*mapped*/, ptr, len);
return NO_ERROR;