diff --git a/src/add-ons/kernel/file_systems/bfs/Query.cpp b/src/add-ons/kernel/file_systems/bfs/Query.cpp index 4b04f82f29..46026bfb43 100644 --- a/src/add-ons/kernel/file_systems/bfs/Query.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Query.cpp @@ -667,13 +667,14 @@ Equation::GetNextMatching(Volume* volume, TreeIterator* iterator, dirent->d_ino = offset; dirent->d_pdev = volume->ID(); dirent->d_pino = volume->ToVnode(inode->Parent()); + dirent->d_reclen = sizeof(struct dirent); if (inode->GetName(dirent->d_name) < B_OK) { FATAL(("inode %" B_PRIdOFF " in query has no name!\n", inode->BlockNumber())); + } else { + dirent->d_reclen += strlen(dirent->d_name); } - - dirent->d_reclen = sizeof(struct dirent) + strlen(dirent->d_name); } if (status == MATCH_OK)