Closed
Bug 5354
Opened 25 years ago
Closed 25 years ago
nsDLL leak in nsComponentManagerImpl::AutoRegisterComponent()
Categories
(Core :: XPCOM, defect, P3)
Tracking
()
VERIFIED
FIXED
M6
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...
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Target Milestone: M6
Assignee | ||
Comment 1•25 years ago
|
||
I see it. Thanks.
Assignee | ||
Comment 2•25 years ago
|
||
Fixed in XPCOM_M6_BRANCH. Awaiting checkin.
Assignee | ||
Updated•25 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Updated•25 years ago
|
Status: RESOLVED → VERIFIED
Comment 3•25 years ago
|
||
code fix, marking verified based on developer input
You need to log in
before you can comment on or make changes to this bug.
Description
•