| Index: base/shared_memory_nacl.cc
|
| ===================================================================
|
| --- base/shared_memory_nacl.cc (revision 175576)
|
| +++ base/shared_memory_nacl.cc (working copy)
|
| @@ -10,6 +10,8 @@
|
| #include <sys/stat.h>
|
| #include <unistd.h>
|
|
|
| +#include <limits>
|
| +
|
| #include "base/logging.h"
|
|
|
| namespace base {
|
| @@ -64,7 +66,7 @@
|
| DPLOG(ERROR) << "close";
|
| }
|
|
|
| -bool SharedMemory::CreateAndMapAnonymous(uint32 size) {
|
| +bool SharedMemory::CreateAndMapAnonymous(size_t size) {
|
| // Untrusted code can't create descriptors or handles.
|
| return false;
|
| }
|
| @@ -82,10 +84,13 @@
|
| return false;
|
| }
|
|
|
| -bool SharedMemory::Map(uint32 bytes) {
|
| +bool SharedMemory::Map(size_t bytes) {
|
| if (mapped_file_ == -1)
|
| return false;
|
|
|
| + if (bytes > static_cast<size_t>(std::numeric_limits<int>::max()))
|
| + return false;
|
| +
|
| memory_ = mmap(NULL, bytes, PROT_READ | (read_only_ ? 0 : PROT_WRITE),
|
| MAP_SHARED, mapped_file_, 0);
|
|
|
|
|