Don't pass empty dictionaries around. Added missing CFRelease, etc.