Loading...
libkern/c++/OSData.cpp xnu-3789.31.2 xnu-4570.71.2
--- xnu/xnu-3789.31.2/libkern/c++/OSData.cpp
+++ xnu/xnu-4570.71.2/libkern/c++/OSData.cpp
@@ -76,8 +76,8 @@
 	if (inCapacity < page_size) data = (void *) kalloc_container(inCapacity);
 	else {
 	    kern_return_t kr;
-	    inCapacity = round_page_32(inCapacity);
-	    kr = kmem_alloc(kernel_map, (vm_offset_t *)&data, inCapacity, IOMemoryTag(kernel_map));
+	    if (round_page_overflow(inCapacity, &inCapacity)) kr = KERN_RESOURCE_SHORTAGE;
+	    else kr = kmem_alloc(kernel_map, (vm_offset_t *)&data, inCapacity, IOMemoryTag(kernel_map));
 	    if (KERN_SUCCESS != kr) data = NULL;
 	}
         if (!data)