[haiku-commits] BRANCH pdziepak-github.nfs4 - src/add-ons/kernel/file_systems/nfs4

  • From: pdziepak-github.nfs4 <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 9 Aug 2012 20:49:18 +0200 (CEST)

added 1 changeset to branch 'refs/remotes/pdziepak-github/nfs4'
old head: 2314d073afc14b7a0e5a1eb27925658b9f2cc212
new head: 29fb3a4af2fdd3fe1ac4a0824d83783eb1e8ad45

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

29fb3a4: nfs4: Fix receiving from stream transport protocols

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

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

Commit:      29fb3a4af2fdd3fe1ac4a0824d83783eb1e8ad45

Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Thu Aug  9 18:46:45 2012 UTC

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

1 file changed, 4 insertions(+), 4 deletions(-)
.../kernel/file_systems/nfs4/Connection.cpp        |    8 ++++----

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

diff --git a/src/add-ons/kernel/file_systems/nfs4/Connection.cpp 
b/src/add-ons/kernel/file_systems/nfs4/Connection.cpp
index cc4611b..6b38b04 100644
--- a/src/add-ons/kernel/file_systems/nfs4/Connection.cpp
+++ b/src/add-ons/kernel/file_systems/nfs4/Connection.cpp
@@ -318,10 +318,10 @@ ConnectionStream::Receive(void** _buffer, uint32* _size)
 {
        status_t result;
 
-       int32 size = 0;
+       uint32 size = 0;
        void* buffer = NULL;
 
-       int32 record_size;
+       uint32 record_size;
        bool last_one;
 
        object_wait_info object[2];
@@ -359,7 +359,7 @@ ConnectionStream::Receive(void** _buffer, uint32* _size)
                }
 
                record_size = ntohl(record_size);
-               last_one = record_size < 0;
+               last_one = static_cast<int32>(record_size) < 0;
                record_size &= LAST_FRAGMENT - 1;
 
                void* ptr = realloc(buffer, size + record_size);
@@ -374,7 +374,7 @@ ConnectionStream::Receive(void** _buffer, uint32* _size)
                        result = recv(fSocket, (uint8*)buffer + size + received,
                                                        record_size - received, 
0);
                        received += result;
-               } while (result > 0 && received < sizeof(record_size));
+               } while (result > 0 && received < record_size);
                if (result < 0) {
                        result = errno;
                        free(buffer);


Other related posts: