xfs
[Top] [All Lists]

Re: [PATCH 09/11] xfsprogs: xfs_repair: fix possible null dereference in

To: xfs@xxxxxxxxxxx
Subject: Re: [PATCH 09/11] xfsprogs: xfs_repair: fix possible null dereference in traverse_int_dir2block
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 2 Dec 2015 23:51:31 -0600
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1449055167-19936-10-git-send-email-t.vivek@xxxxxxxxxxx>
References: <1449055167-19936-1-git-send-email-t.vivek@xxxxxxxxxxx> <1449055167-19936-10-git-send-email-t.vivek@xxxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
On 12/2/15 5:19 AM, Vivek Trivedi wrote:
> Fix possible null dereference in traverse_int_dir2block if buffer pointer is 
> NULL.
> Reported by coverity.

Hm, against what version of xfsprogs?

traverse_int_dir2block has been gone for a while now.  Can you please recheck
against current git, and if there's still an issue, explain a bit more;
I don't see offhand how we get a bp back from da_read_buf with a null 
bp->b_addr.

thanks,
-Eric 

> Signed-off-by: Vivek Trivedi <t.vivek@xxxxxxxxxxx>
> ---
>  repair/dir2.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/repair/dir2.c b/repair/dir2.c
> index 61912d1..fe360dc 100644
> --- a/repair/dir2.c
> +++ b/repair/dir2.c
> @@ -1300,7 +1300,7 @@ _("block %" PRIu64 " for directory inode %" PRIu64 " is 
> missing\n"),
>               bp = da_read_buf(mp, nex, bmp, &xfs_dir3_data_buf_ops);
>               if (bmp != &lbmp)
>                       free(bmp);
> -             if (bp == NULL) {
> +             if (bp == NULL || !bp->b_addr) {
>                       do_warn(
>  _("can't read block %" PRIu64 " for directory inode %" PRIu64 "\n"),
>                               dbno, ino);
> 

<Prev in Thread] Current Thread [Next in Thread>