Skip to content

new RangeRetriever(groupDE, "member", false) is not disposed at the end of the function #94755

@achufistov

Description

@achufistov

Description

dotnet 6.0

File: /src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/AD/ADStoreCtx.cs:1795
Problem: new RangeRetriever(groupDE, "member", false) is not disposed at the end of the function

Reproduction Steps

  1. Role: detected
    detected
    [ADStoreCtx.cs:[1795:0]](

  2. Role: tracepoint
    2.1 Step 1: Condition g.fakePrincipal taking any branch
    [ADStoreCtx.cs:[1750:17]]
    2.2 Step 2: Condition p.ContextType != ContextType.Domain taking any branch
    [ADStoreCtx.cs:[1757:17]]
    2.3 Step 3: Condition g.UnderlyingObject != null taking any branch
    [ADStoreCtx.cs:[1763:26]]
    2.4 Step 4: Condition p.fakePrincipal taking any branch
    [ADStoreCtx.cs:[1768:18]]
    2.5 Step 5: Condition Sid == null taking false branch
    [ADStoreCtx.cs:[1817:17]]
    2.6 Step 6: Condition string.IsNullOrEmpty(this.UserSuppliedServerName) taking any branch
    [ADStoreCtx.cs:[1827:42]]
    2.7 Step 7: Condition stringSid == null taking false branch
    [ADStoreCtx.cs:[1838:21]]
    2.8 Step 8: Condition sr == null taking any branch
    [ADStoreCtx.cs:[1855:21]]
    no escape
    [ADStoreCtx.cs:[1861:45]]
    2.9 Step 9: Exiting the foreach
    [ADStoreCtx.cs:[1861:45]]
    2.10 Step 10: Condition cachedMembersEnum is null taking any branch
    [ADStoreCtx.cs:[1861:45]]
    2.11 Step 11: Condition ds != null taking any branch
    [ADStoreCtx.cs:[1876:21]]
    2.12 Step 12: Condition defaultNCDirEntry != null taking any branch
    [ADStoreCtx.cs:[1880:21]]

Expected behavior

memory leak

Actual behavior

same

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions