From 8dcde8b12874429cc7f0f21fdb1d9339b6574cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 13 Aug 2010 10:27:00 +0000 Subject: [PATCH] * B_SOCKET_SET_ALIAS handling was leaking references. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38079 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/stack/interfaces.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/add-ons/kernel/network/stack/interfaces.cpp b/src/add-ons/kernel/network/stack/interfaces.cpp index 2c29fa482f..4a00f1a53b 100644 --- a/src/add-ons/kernel/network/stack/interfaces.cpp +++ b/src/add-ons/kernel/network/stack/interfaces.cpp @@ -757,6 +757,7 @@ Interface::Control(net_domain* domain, int32 option, ifreq& request, // Note, even if setting the address failed, the empty // address added here will still be added to the interface. + address->AcquireReference(); } } else address = AddressAt(aliasRequest.ifra_index); @@ -765,9 +766,6 @@ Interface::Control(net_domain* domain, int32 option, ifreq& request, return B_BAD_VALUE; status_t status = B_OK; - address->AcquireReference(); - // _ChangeAddress() currently unlocks, so we need another - // reference to make sure "address" is not going away. if (!domain->address_module->equal_addresses( (sockaddr*)&aliasRequest.ifra_addr, address->local)) {