Commit 2689b5a3 authored by Ken Thomases's avatar Ken Thomases Committed by Alexandre Julliard

explorer: Fix leak: always release the CFDictionary.

parent d19a789f
......@@ -53,10 +53,10 @@ static void appeared_callback( DADiskRef disk, void *context )
/* ignore non-removable devices */
if (!(ref = CFDictionaryGetValue( dict, CFSTR("DAMediaRemovable") )) ||
!CFBooleanGetValue( ref )) return;
!CFBooleanGetValue( ref )) goto done;
/* get device name */
if (!(ref = CFDictionaryGetValue( dict, CFSTR("DAMediaBSDName") ))) return;
if (!(ref = CFDictionaryGetValue( dict, CFSTR("DAMediaBSDName") ))) goto done;
strcpy( device, "/dev/r" );
CFStringGetCString( ref, device + 6, sizeof(device) - 6, kCFStringEncodingASCII );
......@@ -75,6 +75,7 @@ static void appeared_callback( DADiskRef disk, void *context )
WINE_TRACE( "got mount notification for '%s' on '%s'\n", device, mount_point );
add_dos_device( device, device, mount_point, type );
done:
CFRelease( dict );
}
......@@ -93,16 +94,17 @@ static void disappeared_callback( DADiskRef disk, void *context )
/* ignore non-removable devices */
if (!(ref = CFDictionaryGetValue( dict, CFSTR("DAMediaRemovable") )) ||
!CFBooleanGetValue( ref )) return;
!CFBooleanGetValue( ref )) goto done;
/* get device name */
if (!(ref = CFDictionaryGetValue( dict, CFSTR("DAMediaBSDName") ))) return;
if (!(ref = CFDictionaryGetValue( dict, CFSTR("DAMediaBSDName") ))) goto done;
strcpy( device, "/dev/r" );
CFStringGetCString( ref, device + 6, sizeof(device) - 6, kCFStringEncodingASCII );
WINE_TRACE( "got unmount notification for '%s'\n", device );
remove_dos_device( device );
done:
CFRelease( dict );
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment