Bug 720168 - Crash in nsHttpChannel::CallOnStartRequest @ objc_msgSend | nsOSHelperAppService::GetMIMEInfoFromOS. r=bgirard

This commit is contained in:
Steven Michaud 2012-01-23 16:37:40 -06:00
parent 6bb3870456
commit e532ca2ebf

View File

@ -275,14 +275,15 @@ static CFArrayRef GetMIMETypesHandledByApp(FSRef *aAppRef)
return NULL;
}
CFTypeRef cfObject = ::CFDictionaryGetValue(infoDict, CFSTR("CFBundleDocumentTypes"));
::CFRelease(infoDict);
if (!cfObject || (::CFGetTypeID(cfObject) != ::CFArrayGetTypeID())) {
::CFRelease(infoDict);
return NULL;
}
CFArrayRef docTypes = static_cast<CFArrayRef>(cfObject);
CFIndex docTypesCount = ::CFArrayGetCount(docTypes);
if (docTypesCount == 0) {
::CFRelease(infoDict);
return NULL;
}
@ -312,6 +313,7 @@ static CFArrayRef GetMIMETypesHandledByApp(FSRef *aAppRef)
::CFRangeMake(0, ::CFArrayGetCount(mimeTypeHolder)));
}
::CFRelease(infoDict);
if (!::CFArrayGetCount(mimeTypes)) {
::CFRelease(mimeTypes);
mimeTypes = NULL;