Loading...
--- xnu/xnu-4570.71.2/libkern/c++/OSData.cpp
+++ xnu/xnu-4903.221.2/libkern/c++/OSData.cpp
@@ -289,7 +289,9 @@
if (capacity == EXTERNAL)
return false;
- newSize = length + inLength;
+ if (os_add_overflow(length, inLength, &newSize))
+ return false;
+
if ( (newSize > capacity) && newSize > ensureCapacity(newSize) )
return false;
@@ -313,7 +315,9 @@
if (capacity == EXTERNAL)
return false;
- newSize = length + inLength;
+ if (os_add_overflow(length, inLength, &newSize))
+ return false;
+
if ( (newSize > capacity) && newSize > ensureCapacity(newSize) )
return false;