When diskfs_validate_mode_change fails while converting a symlink,
the inode reference taken by dino_ref was never released.
---
 ext2fs/inode.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ext2fs/inode.c b/ext2fs/inode.c
index 1b6dae06b..00c4bebb4 100644
--- a/ext2fs/inode.c
+++ b/ext2fs/inode.c
@@ -735,6 +735,7 @@ diskfs_set_translator (struct node *np, const char *name, 
mach_msg_type_number_t
              err = diskfs_validate_mode_change (np, newmode);
              if (err)
                {
+                 dino_deref (di);
                  diskfs_end_catch_exception ();
                  return err;
                }
-- 
2.56.0


Reply via email to