[haiku-commits] haiku: hrev49987 - src/add-ons/kernel/network/stack

  • From: b.vitruvio@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 6 Jan 2016 14:41:54 +0100 (CET)

hrev49987 adds 2 changesets to branch 'master'
old head: 32d85aaa97466fd87b2b169496eaa8a922960b92
new head: 135a195875965fa31f1d64d9fa4102d1f3ee80b2
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=135a19587596+%5E32d85aaa9746

----------------------------------------------------------------------------

ab1adabf145d: Revert "Follow-up fix for #12152 from axeld suggestions"
  
  This reverts commit 6f5971cf52bcab0f9cfcc203bdc8b62e3c9d8fec.
  
  * Sorry there was a misunderstanding in the Ticket and IRC.

135a19587596: InterfaceAddress: The real fix.

                                [ Dario Casalinuovo <b.vitruvio@xxxxxxxxx> ]

----------------------------------------------------------------------------

1 file changed, 9 insertions(+), 2 deletions(-)
src/add-ons/kernel/network/stack/interfaces.cpp | 11 +++++++++--

############################################################################

Commit:      ab1adabf145d44c2955cfaa5cf9378360c15aede
URL:         http://cgit.haiku-os.org/haiku/commit/?id=ab1adabf145d
Author:      Dario Casalinuovo <b.vitruvio@xxxxxxxxx>
Date:        Wed Jan  6 13:23:48 2016 UTC

Ticket:      https://dev.haiku-os.org/ticket/12152

Revert "Follow-up fix for #12152 from axeld suggestions"

This reverts commit 6f5971cf52bcab0f9cfcc203bdc8b62e3c9d8fec.

* Sorry there was a misunderstanding in the Ticket and IRC.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/network/stack/interfaces.cpp 
b/src/add-ons/kernel/network/stack/interfaces.cpp
index f7f6a4d..fb13c5c 100644
--- a/src/add-ons/kernel/network/stack/interfaces.cpp
+++ b/src/add-ons/kernel/network/stack/interfaces.cpp
@@ -409,8 +409,16 @@ InterfaceAddress::Prepare(sockaddr** _address, size_t size)
 
        sockaddr* address = *_address;
 
-       if (address == NULL || size > address->sa_len)
-               address = (sockaddr*)realloc(address, size);
+       if (address == NULL || size > address->sa_len) {
+               sockaddr* resized = (sockaddr*)realloc(address, size);
+
+               if (resized == NULL) {
+                       free(address);
+                       return NULL;
+               }
+
+               address = resized;
+       }
 
        address->sa_len = size;
 

############################################################################

Revision:    hrev49987
Commit:      135a195875965fa31f1d64d9fa4102d1f3ee80b2
URL:         http://cgit.haiku-os.org/haiku/commit/?id=135a19587596
Author:      Dario Casalinuovo <b.vitruvio@xxxxxxxxx>
Date:        Wed Jan  6 13:31:32 2016 UTC

InterfaceAddress: The real fix.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/network/stack/interfaces.cpp 
b/src/add-ons/kernel/network/stack/interfaces.cpp
index fb13c5c..75cbd8c 100644
--- a/src/add-ons/kernel/network/stack/interfaces.cpp
+++ b/src/add-ons/kernel/network/stack/interfaces.cpp
@@ -411,7 +411,6 @@ InterfaceAddress::Prepare(sockaddr** _address, size_t size)
 
        if (address == NULL || size > address->sa_len) {
                sockaddr* resized = (sockaddr*)realloc(address, size);
-
                if (resized == NULL) {
                        free(address);
                        return NULL;


Other related posts:

  • » [haiku-commits] haiku: hrev49987 - src/add-ons/kernel/network/stack - b . vitruvio