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;