debugfs: initialize inode to 0 in list_dir_proc() if no inode nr
PATCH 1/1 debugfs: initialize inode to 0 in list_dir_proc() if no inode nr
If (!ino), the inode will be uninitialized when we print it in the PARSE_OPT case.
So do the same as the LONG_OPT case, and memset it to 0 if (!ino).
Signed-off-by Eric Sandeen <[email protected]>
---
debugfs/ls.c +6 -3
@@ -73,15 +73,18 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), lbr = rbr =' ' ; }if (ls->options &PARSE_OPT ) { -if (ino &&debugfs_read_inode (ino, &inode, name))return 0 ; +if (ino) { +if (debugfs_read_inode (ino, &inode, name)) +return 0 ; + }else +memset (&inode,0 ,sizeof (struct ext2_inode ));fprintf (ls->f,"/%u/%06o/%d/%d/%s/" ,ino,inode.i_mode,inode.i_uid, inode.i_gid,name);if (LINUX_S_ISDIR (inode.i_mode))fprintf (ls->f,"/" );else fprintf (ls->f,"%lld/" ,EXT2_I_SIZE (&inode));fprintf (ls->f,"\n" ); - } -else if (ls->options &LONG_OPT ) { + }else if (ls->options &LONG_OPT ) {if (ino) {if (debugfs_read_inode (ino, &inode, name))return 0 ;
Ted Ts'o
AppliedQuoted 7 lines · Eric Sandeen
If (!ino), the inode will be uninitialized when we print it in the
PARSE_OPTcase.So do the same as the
LONG_OPTcase, and memset it to 0 if (!ino).Signed-off-by Eric Sandeen <[email protected]>
Applied, thanks
- Ted