Loading...
iokit/Kernel/IOWorkLoop.cpp xnu-12377.121.6 xnu-7195.141.2
--- xnu/xnu-12377.121.6/iokit/Kernel/IOWorkLoop.cpp
+++ xnu/xnu-7195.141.2/iokit/Kernel/IOWorkLoop.cpp
@@ -133,7 +133,12 @@
 
 	// Allocate our ExpansionData if it hasn't been allocated already.
 	if (!reserved) {
-		reserved = IOMallocType(ExpansionData);
+		reserved = IONew(ExpansionData, 1);
+		if (!reserved) {
+			return false;
+		}
+
+		bzero(reserved, sizeof(ExpansionData));
 	}
 
 	if (gateLock == NULL) {
@@ -198,7 +203,12 @@
 	IOWorkLoop *me = new IOWorkLoop;
 
 	if (me && options) {
-		me->reserved = IOMallocType(ExpansionData);
+		me->reserved = IONew(ExpansionData, 1);
+		if (!me->reserved) {
+			me->release();
+			return NULL;
+		}
+		bzero(me->reserved, sizeof(ExpansionData));
 		me->reserved->options = options;
 	}
 
@@ -288,7 +298,7 @@
 		IOStatisticsUnregisterCounter();
 
 		if (reserved) {
-			IOFreeType(reserved, ExpansionData);
+			IODelete(reserved, ExpansionData, 1);
 			reserved = NULL;
 		}