# File lib/facter/util/windows/api_types.rb, line 52 def self.read_win32_local_pointer(ffi_pointer, &block) ptr = nil begin ptr = ffi_pointer.read_pointer yield ptr ensure if ptr && ! ptr.null? if WIN32.LocalFree(ptr.address) != NULL_HANDLE Puppet.debug "LocalFree memory leak" end end end # ptr has already had LocalFree called, so nothing to return nil end