diff --git a/subsys/fs/ext2/ext2_ops.c b/subsys/fs/ext2/ext2_ops.c index 509a1c1b73d57..445cb3772aa1a 100644 --- a/subsys/fs/ext2/ext2_ops.c +++ b/subsys/fs/ext2/ext2_ops.c @@ -598,12 +598,11 @@ static int ext2_stat(struct fs_mount_t *mountp, const char *path, struct fs_dire } uint32_t offset = args.offset; - struct ext2_inode *parent = args.parent; - struct ext2_file dir = {.f_inode = parent, .f_off = offset}; + struct ext2_file dir = {.f_inode = args.parent ? args.parent : args.inode, .f_off = offset}; rc = ext2_get_direntry(&dir, entry); - ext2_inode_drop(parent); + ext2_inode_drop(args.parent); ext2_inode_drop(args.inode); return rc; }