From ab9c4205b6703a2027f1c0e7ef50cbd24a0c61ba Mon Sep 17 00:00:00 2001 From: "jst%netscape.com" Date: Sat, 3 Nov 2001 02:07:20 +0000 Subject: [PATCH] Fixing leaks in the exception service. Bug 108213. r=dbradley@netscape.com, sr=jband@netscape.com git-svn-id: svn://10.0.0.236/trunk@107180 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpcom/base/nsExceptionService.cpp | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/mozilla/xpcom/base/nsExceptionService.cpp b/mozilla/xpcom/base/nsExceptionService.cpp index 8ef421e8ee9..b9618be14cb 100644 --- a/mozilla/xpcom/base/nsExceptionService.cpp +++ b/mozilla/xpcom/base/nsExceptionService.cpp @@ -139,15 +139,6 @@ NS_IMETHODIMP nsExceptionManager::GetExceptionFromProvider(nsresult rc, nsIExcep } /* The Exception Service */ -class ProviderInfo { -public: - ProviderInfo(nsIExceptionProvider *_rep, PRUint32 _mod) : - provider(_rep), errorModule(_mod) {} - - nsCOMPtr provider; - PRUint32 errorModule; -}; - PRUintn nsExceptionService::tlsIndex = BAD_TLS_INDEX; PRLock *nsExceptionService::lock = PR_FALSE; @@ -267,9 +258,6 @@ NS_IMETHODIMP nsExceptionService::GetCurrentExceptionManager(nsIExceptionManager NS_IMETHODIMP nsExceptionService::RegisterExceptionProvider(nsIExceptionProvider *provider, PRUint32 errorModule) { CHECK_SERVICE_USE_OK(); - ProviderInfo *pi = new ProviderInfo(provider, errorModule); - if (pi==nsnull) - return NS_ERROR_OUT_OF_MEMORY; nsProviderKey key(errorModule); if (mProviders.Put(&key, provider)) { @@ -304,7 +292,7 @@ nsExceptionService::DoGetExceptionFromProvider(nsresult errCode, { nsProviderKey key(NS_ERROR_GET_MODULE(errCode)); nsCOMPtr provider = - (nsIExceptionProvider *)mProviders.Get(&key); + dont_AddRef((nsIExceptionProvider *)mProviders.Get(&key)); // No provider so we'll return the default exception if (!provider) {