Closed Bug 238963 Opened 21 years ago Closed 21 years ago

nsObserverList::GetObserverList should return OOM on failure

Categories

(Core :: XPCOM, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Assigned: timeless)

Details

Attachments

(1 file)

consider this call chain: nsObserverService::NotifyObservers nsObserverService::EnumerateObservers nsObserverService::GetObserverList nsObserverList::GetObserverList 139 ObserverListEnumerator * enumerator= new ObserverListEnumerator(mObserverList); 140 NS_IF_ADDREF(enumerator); 141 *anEnumerator = enumerator; 142 return NS_OK; let new fail. anEnumerator = 0 return NS_OK this bubbles to 199 rv = EnumerateObservers( aTopic, getter_AddRefs(observers) ); 200 if ( NS_FAILED( rv ) ) false, so skip return 201 return rv; 203 while( NS_SUCCEEDED(observers->HasMoreElements(&loop)) && loop) null, so crash.
Attached patch return failureSplinter Review
Attachment #144945 - Flags: review?(dougt)
Attachment #144945 - Flags: review?(dougt) → review+
mozilla/xpcom/ds/nsObserverList.cpp 3.31
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: