From e94ea7bc22ad2500b53be44765c7acaba8f392a0 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Wed, 15 Dec 2021 12:40:59 -0500 Subject: [PATCH] UDP: Fix double-reference of DomainSupport. PulkoMandy in cb3199681eb2ed53850595d374e4989dbd62a3fa changed the _GetDomainSupport functions to always Ref() the the object. However, that means in the case of the second _GetDomainSupport function, which is implemented in terms of the first, we should not call Ref() as this will create a double-reference. Fixes a memory leak. Change-Id: Ib82b2dadc0c8cc8d8f95efcffeb2430ac602a0a9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4791 Reviewed-by: Adrien Destugues --- src/add-ons/kernel/network/protocols/udp/udp.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/add-ons/kernel/network/protocols/udp/udp.cpp b/src/add-ons/kernel/network/protocols/udp/udp.cpp index e6a65570d6..da4da599df 100644 --- a/src/add-ons/kernel/network/protocols/udp/udp.cpp +++ b/src/add-ons/kernel/network/protocols/udp/udp.cpp @@ -929,10 +929,7 @@ UdpEndpointManager::_GetDomainSupport(net_buffer* buffer) { MutexLocker _(fLock); - UdpDomainSupport* support = _GetDomainSupport(_GetDomain(buffer), false); - if (support != NULL) - support->Ref(); - return support; + return _GetDomainSupport(_GetDomain(buffer), false); }