]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IOLib.cpp
xnu-2050.18.24.tar.gz
[apple/xnu.git] / iokit / Kernel / IOLib.cpp
index b2714fc9b516986e62fc6f2e2fd7e97556dd5b88..886176acf7b3510f54197c1e6642dce70316193c 100644 (file)
@@ -237,7 +237,10 @@ void * IOMallocAligned(vm_size_t size, vm_size_t alignment)
     alignMask = alignment - 1;
     adjustedSize = size + sizeof(vm_size_t) + sizeof(vm_address_t);
 
-    if (adjustedSize >= page_size) {
+    if (size > adjustedSize) {
+           address = 0;    /* overflow detected */
+    }
+    else if (adjustedSize >= page_size) {
 
         kr = kernel_memory_allocate(kernel_map, &address,
                                        size, alignMask, 0);