From 3147ae7d6bf76c5c4be5837e109ed265c3e06ecb Mon Sep 17 00:00:00 2001 From: "martijn.martijn%gmail.com" Date: Thu, 12 Oct 2006 13:25:02 +0000 Subject: [PATCH] Bug 352666 - Crash [@ nsPrefBranch::SetComplexValue], r=dveditz, sr=bzbarsky git-svn-id: svn://10.0.0.236/trunk@213543 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/modules/libpref/src/nsPrefBranch.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mozilla/modules/libpref/src/nsPrefBranch.cpp b/mozilla/modules/libpref/src/nsPrefBranch.cpp index d4713d2f881..2d19b2cec9a 100644 --- a/mozilla/modules/libpref/src/nsPrefBranch.cpp +++ b/mozilla/modules/libpref/src/nsPrefBranch.cpp @@ -385,6 +385,8 @@ NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID & if (aType.Equals(NS_GET_IID(nsILocalFile))) { nsCOMPtr file = do_QueryInterface(aValue); + if (!file) + return NS_NOINTERFACE; nsCAutoString descriptorString; rv = file->GetPersistentDescriptor(descriptorString); @@ -402,7 +404,7 @@ NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID & nsCOMPtr file; relFilePref->GetFile(getter_AddRefs(file)); if (!file) - return NS_ERROR_FAILURE; + return NS_NOINTERFACE; nsCAutoString relativeToKey; (void) relFilePref->GetRelativeToKey(relativeToKey); @@ -459,6 +461,8 @@ NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID & // This is deprecated and you should not be using it if (aType.Equals(NS_GET_IID(nsIFileSpec))) { nsCOMPtr file = do_QueryInterface(aValue); + if (!file) + return NS_NOINTERFACE; nsXPIDLCString descriptorString; rv = file->GetPersistentDescriptorString(getter_Copies(descriptorString));