File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -60,6 +60,8 @@ function IOServiceMatching( const name: pchar ): NSDictionary; cdecl; external;
6060
6161function IOIteratorNext ( iterator: io_iterator_t ): io_object_t; cdecl; external ;
6262
63+ function IOObjectRelease ( o: io_object_t ): kern_return_t; cdecl; external ;
64+
6365var
6466 kIOMasterPortDefault: mach_port_t; cvar; external ;
6567
@@ -117,7 +119,6 @@ function TDarwinIOVolumns.createVolumns: NSArray;
117119
118120 bsdName: CFTypeRef;
119121 groupUUID: CFTypeRef;
120- mntFromName: CFTypeRef;
121122 roleValue: CFTypeRef;
122123 removable: CFTypeRef;
123124begin
@@ -150,8 +151,21 @@ function TDarwinIOVolumns.createVolumns: NSArray;
150151 volumnProperties.setValue_forKey( removable , Removable_KEY );
151152 volumns.addObject( volumnProperties );
152153 volumnProperties.release;
154+
155+ if Assigned( bsdName ) then
156+ CFRelease( bsdName );
157+ if Assigned( groupUUID ) then
158+ CFRelease( groupUUID );
159+ if Assigned( roleValue ) then
160+ CFRelease( roleValue );
161+ if Assigned( removable ) then
162+ CFRelease( removable );
163+
164+ IOObjectRelease( ioVolumnObject );
165+ IOObjectRelease( ioServiceObject );
153166 until False;
154167
168+ IOObjectRelease( ioIterator );
155169 Result:= volumns;
156170end ;
157171
You can’t perform that action at this time.
0 commit comments