Changeset 179707 in webkit
- Timestamp:
- Feb 5, 2015 2:13:10 PM (9 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r179705 r179707 1 2015-02-05 Chris Dumez <cdumez@apple.com> 2 3 [WK2] Properly check for mmap() error case 4 https://bugs.webkit.org/show_bug.cgi?id=141304 5 6 Reviewed by Anders Carlsson. 7 8 mmap() returns MAP_FAILED, which is (void*)-1, not a null pointer in 9 case of failure. This patch updates several wrong error checks in 10 WebKit2. 11 12 * Platform/IPC/ArgumentEncoder.cpp: 13 (IPC::allocBuffer): 14 (IPC::ArgumentEncoder::reserve): 15 * Platform/IPC/mac/ConnectionMac.mm: 16 (IPC::Connection::sendOutgoingMessage): 17 1 18 2015-02-05 Brian J. Burg <burg@cs.washington.edu> 2 19 -
trunk/Source/WebKit2/Platform/IPC/ArgumentEncoder.cpp
r176762 r179707 37 37 namespace IPC { 38 38 39 static inline void* allocBuffer(size_t size) 39 template <typename T> 40 static inline bool allocBuffer(T*& buffer, size_t size) 40 41 { 41 42 #if OS(DARWIN) 42 return mmap(0, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); 43 buffer = static_cast<T*>(mmap(0, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0)); 44 return buffer != MAP_FAILED; 43 45 #else 44 return fastMalloc(size); 46 buffer = static_cast<T*>(fastMalloc(size)); 47 return !!buffer; 45 48 #endif 46 49 } … … 91 94 newCapacity *= 2; 92 95 93 uint8_t* newBuffer = static_cast<uint8_t*>(allocBuffer(newCapacity));94 if (! newBuffer)96 uint8_t* newBuffer; 97 if (!allocBuffer(newBuffer, newCapacity)) 95 98 CRASH(); 96 99 -
trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm
r179373 r179707 284 284 char stackBuffer[inlineMessageMaxSize]; 285 285 char* buffer = &stackBuffer[0]; 286 if (messageSize > inlineMessageMaxSize) 286 if (messageSize > inlineMessageMaxSize) { 287 287 buffer = (char*)mmap(0, messageSize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); 288 if (buffer == MAP_FAILED) 289 return false; 290 } 288 291 289 292 bool isComplex = (numberOfPortDescriptors + numberOfOOLMemoryDescriptors > 0);
Note: See TracChangeset
for help on using the changeset viewer.