Fix 63170: crash in [add|remove]Observer if either argument is null. r=dveditz sr=alecf

This commit is contained in:
blakeross%telocity.com 2000-12-19 08:14:09 +00:00
Родитель a7bc2af406
Коммит ea488282ff
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -1217,6 +1217,9 @@ NS_IMETHODIMP nsPref::UnregisterCallback( const char* domain,
NS_IMETHODIMP nsPref::AddObserver(const char *domain, NS_IMETHODIMP nsPref::AddObserver(const char *domain,
nsIObserver *observer) nsIObserver *observer)
{ {
NS_ENSURE_ARG_POINTER(domain);
NS_ENSURE_ARG_POINTER(observer);
nsCStringKey key(domain); nsCStringKey key(domain);
mObservers.Put(&key, observer); mObservers.Put(&key, observer);
return RegisterCallback(domain, NotifyObserver, observer); return RegisterCallback(domain, NotifyObserver, observer);
@ -1225,6 +1228,9 @@ NS_IMETHODIMP nsPref::AddObserver(const char *domain,
NS_IMETHODIMP nsPref::RemoveObserver(const char *domain, NS_IMETHODIMP nsPref::RemoveObserver(const char *domain,
nsIObserver *observer) nsIObserver *observer)
{ {
NS_ENSURE_ARG_POINTER(domain);
NS_ENSURE_ARG_POINTER(observer);
nsCStringKey key(domain); nsCStringKey key(domain);
mObservers.Remove(&key); mObservers.Remove(&key);
return UnregisterCallback(domain, NotifyObserver, observer); return UnregisterCallback(domain, NotifyObserver, observer);