Program: CWE-20
Project: CVE-2021-33318
Buggy source:
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>IpMatcher</name>
    </assembly>
    <members>
        <member name="T:IpMatcher.Matcher">
            <summary>
            IP address matcher.
            </summary>
        </member>
        <member name="M:IpMatcher.Matcher.#ctor">
            <summary>
            Instantiate the IP address matcher.
            </summary>
        </member>
        <member name="M:IpMatcher.Matcher.Add(System.String,System.String)">
            <summary>
            Add a node to the match list.
            </summary>
            <param name="ip">The IP address, i.e. 192.168.1.0.</param>
            <param name="netmask">The netmask, i.e. 255.255.255.0.</param>
        </member>
        <member name="M:IpMatcher.Matcher.Exists(System.String,System.String)">
            <summary>
            Check if an entry exists in the match list.
            </summary>
            <param name="ip">The IP address, i.e. 192.168.1.0.</param>
            <param name="netmask">The netmask, i.e. 255.255.255.0.</param>
            <returns>True if entry exists.</returns>
        </member>
        <member name="M:IpMatcher.Matcher.Remove(System.String)">
            <summary>
            Remove an entry from the match list.
            </summary>
            <param name="ip">The IP address, i.e 192.168.1.0.</param>
        </member>
        <member name="M:IpMatcher.Matcher.MatchExists(System.String)">
            <summary>
            Check if an IP address matches something in the match list.
            </summary>
            <param name="ip">The IP address, i.e. 192.168.1.34.</param>
            <returns>True if a match is found.</returns>
        </member>
    </members>
</doc>


Fixed version (ground truth):
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>IpMatcher</name>
    </assembly>
    <members>
        <member name="T:IpMatcher.Matcher">
            <summary>
            IP address matcher.
            </summary>
        </member>
        <member name="F:IpMatcher.Matcher.Logger">
            <summary>
            Method to invoke to send log messages.
            </summary>
        </member>
        <member name="M:IpMatcher.Matcher.#ctor">
            <summary>
            Instantiate the IP address matcher.
            </summary>
        </member>
        <member name="M:IpMatcher.Matcher.Add(System.String,System.String)">
            <summary>
            Add a node to the match list.
            </summary>
            <param name="ip">The IP address, i.e. 192.168.1.0.</param>
            <param name="netmask">The netmask, i.e. 255.255.255.0.</param>
        </member>
        <member name="M:IpMatcher.Matcher.Exists(System.String,System.String)">
            <summary>
            Check if an entry exists in the match list.
            </summary>
            <param name="ip">The IP address, i.e. 192.168.1.0.</param>
            <param name="netmask">The netmask, i.e. 255.255.255.0.</param>
            <returns>True if entry exists.</returns>
        </member>
        <member name="M:IpMatcher.Matcher.Remove(System.String)">
            <summary>
            Remove an entry from the match list.
            </summary>
            <param name="ip">The IP address, i.e 192.168.1.0.</param>
        </member>
        <member name="M:IpMatcher.Matcher.MatchExists(System.String)">
            <summary>
            Check if an IP address matches something in the match list.
            </summary>
            <param name="ip">The IP address, i.e. 192.168.1.34.</param>
            <returns>True if a match is found.</returns>
        </member>
        <member name="M:IpMatcher.Matcher.All">
            <summary>
            Retrieve all stored addresses.
            </summary>
            <returns></returns>
        </member>
    </members>
</doc>