Closed Bug 5354 Opened 25 years ago Closed 25 years ago

nsDLL leak in nsComponentManagerImpl::AutoRegisterComponent()

Categories

(Core :: XPCOM, defect, P3)

x86
All
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: jst, Assigned: dp)

Details

Sorry for the messy format nsDll *dll = (nsDll *) mDllStore->Get(&key); nsresult rv = NS_OK; if (dll == NULL) { // XXX Create nsDll for this from registry and // XXX add it to our dll cache mDllStore. #ifdef USE_REGISTRY rv = PlatformCreateDll(fullname, &dll); -----------> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Creates a nsDLL object #endif /* USE_REGISTRY */ } if (NS_SUCCEEDED(rv)) { // Make sure the dll is OK if (dll->GetStatus() != NS_OK) { PR_LOG(nsComponentManagerLog, PR_LOG_ALWAYS, ("nsComponentManager: + nsDll not NS_OK \"%s\". Skipping...", dll->GetFullPath())); return NS_ERROR_FAILURE; ----------> ^^^^^^^^^^^^^^^^^^^^^^^^ returns without deleteing dll } // We already have seen this dll. Check if this dll changed if (LL_EQ(dll->GetLastModifiedTime(), statbuf.modifyTime) && (dll->GetSize() == statbuf.size)) { // Dll hasn't changed. Skip. PR_LOG(nsComponentManagerLog, PR_LOG_ALWAYS, ("nsComponentManager: + nsDll not changed \"%s\". Skipping...", dll->GetFullPath())); return NS_OK; ----------> ^^^^^^^^^^^^^ returns without deleteing dll } and so on...
Status: NEW → ASSIGNED
Target Milestone: M6
I see it. Thanks.
Fixed in XPCOM_M6_BRANCH. Awaiting checkin.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
code fix, marking verified based on developer input
You need to log in before you can comment on or make changes to this bug.