char traverse_path[PATH_MAX];
char abs_dirname[PATH_MAX];
const char *db_path;
+ int ret;
uid_t uid;
user_info *info;
while ((ent = readdir(dir)) != NULL) {
snprintf(abs_dirname, PATH_MAX, "%s/%s", traverse_path,
ent->d_name);
- stat(abs_dirname, &stats);
+
+ ret = stat(abs_dirname, &stats);
+ if (ret != 0) {
+ printf("failed to stat: %d (%s)", errno, abs_dirname);
+ continue;
+ }
+
if (!strcmp(".", ent->d_name) || !strcmp("..", ent->d_name) ||
!S_ISDIR(stats.st_mode))
continue;