]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IOMemoryDescriptor.cpp
xnu-1228.5.20.tar.gz
[apple/xnu.git] / iokit / Kernel / IOMemoryDescriptor.cpp
index 3c0b8f7e16a09f3bcff06237835240a55efa45da..b86f7f65164c1496db20cbdb8298a0942185e78e 100644 (file)
@@ -1017,6 +1017,8 @@ void IOGeneralMemoryDescriptor::free()
            IODelete(_ranges.v64, IOAddressRange, _rangesCount);
        else
            IODelete(_ranges.v, IOVirtualRange, _rangesCount);
+
+       _ranges.v = NULL;
     }
 
     if (reserved && reserved->devicePager)
@@ -2427,9 +2429,9 @@ IOMemoryDescriptorMapMemEntry(vm_map_t map, ipc_port_t entry, IOOptionBits optio
     IOReturn err;
     IOMemoryDescriptorMapAllocRef ref;
 
-    ref.sharedMem      = entry;
-    ref.sourceOffset           = offset;
-    ref.options                = options;
+    ref.sharedMem       = entry;
+    ref.sourceOffset = trunc_page_64(offset);
+    ref.options                 = options;
 
     ref.size = length;