[haiku-commits] r38179 - haiku/trunk/src/add-ons/kernel/network/stack

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 17 Aug 2010 13:43:22 +0200 (CEST)

Author: axeld
Date: 2010-08-17 13:43:22 +0200 (Tue, 17 Aug 2010)
New Revision: 38179
Changeset: http://dev.haiku-os.org/changeset/38179

Modified:
   haiku/trunk/src/add-ons/kernel/network/stack/datalink.cpp
Log:
* Getting an address leaked a reference. This fixes that interfaces could not
  really be deleted (a reference of them was kept in memory).


Modified: haiku/trunk/src/add-ons/kernel/network/stack/datalink.cpp
===================================================================
--- haiku/trunk/src/add-ons/kernel/network/stack/datalink.cpp   2010-08-17 
09:51:22 UTC (rev 38178)
+++ haiku/trunk/src/add-ons/kernel/network/stack/datalink.cpp   2010-08-17 
11:43:22 UTC (rev 38179)
@@ -772,8 +772,12 @@
 
                        size_t maxLength = length - offsetof(ifreq, ifr_addr);
 
-                       return 
fill_address(*interfaceAddress->AddressFor(option),
+                       status_t status = fill_address(
+                               *interfaceAddress->AddressFor(option),
                                &((struct ifreq*)argument)->ifr_addr, 
maxLength);
+
+                       interfaceAddress->ReleaseReference();
+                       return status;
                }
 
                case B_SOCKET_COUNT_ALIASES:


Other related posts:

  • » [haiku-commits] r38179 - haiku/trunk/src/add-ons/kernel/network/stack - axeld