Closed
Bug 11575
Opened 25 years ago
Closed 25 years ago
ServiceImpl::UnregisterResource does not catch null uri
Categories
(Core Graveyard :: RDF, defect, P3)
Tracking
(Not tracked)
CLOSED
FIXED
M9
People
(Reporter: jband_mozilla, Assigned: waterson)
Details
(Whiteboard: fix in hand)
ServiceImpl::UnregisterResource has #ifdef REUSE_RESOURCE_URI_AS_KEY const char* uri; rv = aResource->GetValueConst(&uri); #else nsXPIDLCString uri; rv = aResource->GetValue(getter_Copies(uri)); #endif if (NS_FAILED(rv)) return rv; PLHashEntry** hep = PL_HashTableRawLookup(mResources, (*mResources->keyHash)(uri), uri); (where REUSE_RESOURCE_URI_AS_KEY *is* #defined) If the resource's uri == NULL, then GetValueConst returns NS_OK but we end up passing a uri of NULL to PL_HashTableRawLookup and bad things happen. It looks like you need a special check for uri == nsnull and a return of whatever NS_ERROR_* makes sense to the caller. I'm seeing this in the context of the call to rdfService->UnregisterResource(this); in nsRDFResource::~nsRDFResource This is when running in xpcshell : var name = "component://netscape/rdf/resource-factory"; try { var foo = Components.classes[name].createInstance(); print(foo); foo = null; gc(); } catch(e) { print("caught+e"); }
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Target Milestone: M9
Assignee | ||
Updated•25 years ago
|
Whiteboard: fix in hand
Assignee | ||
Updated•25 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Updated•6 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•