[haiku-commits] haiku: hrev51094 - src/add-ons/kernel/file_systems/bfs

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 14 Apr 2017 14:39:43 +0200 (CEST)

hrev51094 adds 1 changeset to branch 'master'
old head: 5bb8320035e94928e81fa431a26919c6a68c42c5
new head: 3431d8f20ea548c7f6839650ba6a4218524368d1
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=3431d8f20ea5+%5E5bb8320035e9

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

3431d8f20ea5: BFS: Fixed readdir() again.
  
  * We still need to return B_BUFFER_OVERFLOW if the passed in buffer was
    smaller than INODE_FILE_NAME_LENGTH, as that's what must be expected
    from the caller.

                                   [ Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> ]

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

Revision:    hrev51094
Commit:      3431d8f20ea548c7f6839650ba6a4218524368d1
URL:         http://cgit.haiku-os.org/haiku/commit/?id=3431d8f20ea5
Author:      Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>
Date:        Fri Apr 14 12:33:44 2017 UTC

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

1 file changed, 1 insertion(+), 1 deletion(-)
src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp | 2 +-

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

diff --git a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp 
b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp
index 0f43331..47125d6 100644
--- a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp
+++ b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp
@@ -2744,7 +2744,7 @@ TreeIterator::Traverse(int8 direction, void* key, uint16* 
keyLength,
        // include the termination for string types
        bool needsTermination = fTree->fHeader.DataType() == 
BPLUSTREE_STRING_TYPE;
        if (length + (needsTermination ? 1 : 0) > maxLength) {
-               if (!needsTermination) {
+               if (!needsTermination || maxLength < INODE_FILE_NAME_LENGTH) {
                        // The buffer is too small, restore the last key and 
return
                        // an error
                        fCurrentNodeOffset = savedNodeOffset;


Other related posts:

  • » [haiku-commits] haiku: hrev51094 - src/add-ons/kernel/file_systems/bfs - axeld