gecko-dev/xpcom/components
timeless%mozdev.org bf613adffe Bug 345903 Crash in [@ nsComponentManagerImpl::GetService] with broken JS component
r=dougt
ComponentManager talks to factories when it's asked to create components or get services. The factories are expected to return success when they provide an object or return a failure code and provide a null pointer.

Unfortunately, it's trivially easy for someone writing a js xpcom component to mess up their factory such that they return success without providing an object.

In this case we will now throw NS_ERROR_SERVICE_NOT_FOUND. I've picked this because we did not find a factory capable of properly servicing our request :) -- and because there's no better result available :(.

This branch eventually deserves PR_LOGGING so that people could see it even if they didn't build debug (but did somehow get prlogging), but that's left for a future patch.
2006-07-26 16:00:16 +00:00
..
.cvsignore
Makefile.in
nsCategoryCache.cpp
nsCategoryCache.h
nsCategoryManager.cpp landing patch for bug 326273 "Implement nsIThreadManager" (Mac portions by Mark Mentovai) with reviews from bienvenu, bsmedberg, bzbarsky, josh, roc, and ssieb 2006-05-10 17:30:15 +00:00
nsCategoryManager.h
nsCategoryManagerUtils.h
nsComponentManager.cpp Bug 345903 Crash in [@ nsComponentManagerImpl::GetService] with broken JS component 2006-07-26 16:00:16 +00:00
nsComponentManager.h
nsICategoryManager.idl
nsIClassInfo.idl Remove dependency on nsIClassInfo.h from nsISupports.h (bug 330420). This adds a new nsIClassInfoImpl.h file which can be included to get the CI implementation macros. Also, removes unneeded inclusion of nsIProgrammingLanguage.h from nsIClassInfo.h. r=darin. 2006-03-15 04:59:42 +00:00
nsIComponentManager.idl
nsIComponentManagerObsolete.idl
nsIComponentRegistrar.idl
nsIFactory.idl
nsIModule.idl
nsIModuleLoader.idl
nsIServiceManager.idl
nsIServiceManagerObsolete.h
nsModule.h
nsNativeComponentLoader.cpp Wrap FORCE_PR_LOG with MOZ_LOGGING ifdef so that --disable-logging works. 2006-04-13 17:03:18 +00:00
nsNativeComponentLoader.h
nsObsoleteModuleLoading.h
nsServiceManagerObsolete.cpp
nsStaticComponentLoader.cpp
nsStaticComponentLoader.h