[Ocfs2-tools-devel] [PATCH] debugfs.ocfs2: fix NULL pointer dereference risk in dump_dir_entry

Eric Ren zren at suse.com
Wed Jul 27 01:13:23 PDT 2016


On 07/26/2016 05:05 PM, Joseph Qi wrote:
> ls->buf may be 0 if ocfs2_read_inode fails, so check the return value to
> prevent NULL pointer dereference risk.
>
> Signed-off-by: Joseph Qi <joseph.qi at huawei.com>

LGTM.

Reviewed-by: Eric Ren <zren at suse.com>

> ---
>  debugfs.ocfs2/dump.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/debugfs.ocfs2/dump.c b/debugfs.ocfs2/dump.c
> index da95a14..8969493 100644
> --- a/debugfs.ocfs2/dump.c
> +++ b/debugfs.ocfs2/dump.c
> @@ -511,6 +511,7 @@ int dump_dir_entry(struct ocfs2_dir_entry *rec, uint64_t blocknr, int offset,
>  	struct ocfs2_dinode *di;
>  	char perms[20];
>  	char timestr[40];
> +	errcode_t ret;
>
>  	rec->name[rec->name_len] = '\0';
>
> @@ -520,7 +521,10 @@ int dump_dir_entry(struct ocfs2_dir_entry *rec, uint64_t blocknr, int offset,
>  			rec->rec_len, rec->name_len, rec->file_type, rec->name);
>  	} else {
>  		memset(ls->buf, 0, ls->fs->fs_blocksize);
> -		ocfs2_read_inode(ls->fs, rec->inode, ls->buf);
> +		ret = ocfs2_read_inode(ls->fs, rec->inode, ls->buf);
> +		if (ret)
> +			return ret;
> +
>  		di = (struct ocfs2_dinode *)ls->buf;
>
>  		inode_perms_to_str(di->i_mode, perms, sizeof(perms));
>




More information about the Ocfs2-tools-devel mailing list