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
nsCategoryManager.h
nsCategoryManagerUtils.h
nsComponentManager.cpp
nsComponentManager.h
nsICategoryManager.idl
nsIClassInfo.idl
nsIComponentManager.idl
nsIComponentManagerObsolete.idl
nsIComponentRegistrar.idl
nsIFactory.idl
nsIModule.idl
nsIModuleLoader.idl
nsIServiceManager.idl
nsIServiceManagerObsolete.h
nsModule.h
nsNativeComponentLoader.cpp
nsNativeComponentLoader.h
nsObsoleteModuleLoading.h
nsServiceManagerObsolete.cpp
nsStaticComponentLoader.cpp
nsStaticComponentLoader.h