summaryrefslogtreecommitdiff
path: root/src/os/FlatIndex.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/FlatIndex.cc')
-rw-r--r--src/os/FlatIndex.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/os/FlatIndex.cc b/src/os/FlatIndex.cc
index f4a5ce3ab7d..db46750e411 100644
--- a/src/os/FlatIndex.cc
+++ b/src/os/FlatIndex.cc
@@ -387,7 +387,8 @@ int FlatIndex::collection_list_partial(const hobject_t &start,
}
int FlatIndex::collection_list(vector<hobject_t> *ls) {
- char dir_name[PATH_MAX], buf[PATH_MAX], new_name[PATH_MAX];
+ char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1];
+ char dir_name[PATH_MAX], new_name[PATH_MAX];
strncpy(dir_name, base_path.c_str(), sizeof(dir_name));
dir_name[sizeof(dir_name)-1]='\0';
@@ -399,7 +400,7 @@ int FlatIndex::collection_list(vector<hobject_t> *ls) {
vector< pair<ino_t,hobject_t> > inolist;
struct dirent *de;
- while (::readdir_r(dir, (struct dirent*)buf, &de) == 0) {
+ while (::readdir_r(dir, (struct dirent *)buf, &de) == 0) {
if (!de)
break;
// parse