xfs-masters
[Top] [All Lists]

[xfs-masters] fs/xfs/xfs_vnodeops.c:xfs_readdir(): NULL variable derefer

To: xfs-masters@xxxxxxxxxxx
Subject: [xfs-masters] fs/xfs/xfs_vnodeops.c:xfs_readdir(): NULL variable dereferenced
From: Adrian Bunk <bunk@xxxxxxxxx>
Date: Thu, 6 Jul 2006 23:13:20 +0200
Cc: xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Reply-to: xfs-masters@xxxxxxxxxxx
Sender: xfs-masters-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.11+cvs20060403
The Coverity checker spotted the following:

<--  snip  -->

...
STATIC int
xfs_readdir(
        bhv_desc_t      *dir_bdp,
        uio_t           *uiop,
        cred_t          *credp,
        int             *eofp)
{
        xfs_inode_t     *dp;
        xfs_trans_t     *tp = NULL;
        int             error = 0;
        uint            lock_mode;

        vn_trace_entry(BHV_TO_VNODE(dir_bdp), __FUNCTION__,
                                               (inst_t *)__return_address);
        dp = XFS_BHVTOI(dir_bdp);

        if (XFS_FORCED_SHUTDOWN(dp->i_mount))
                return XFS_ERROR(EIO);

        lock_mode = xfs_ilock_map_shared(dp);
        error = xfs_dir_getdents(tp, dp, uiop, eofp);
        xfs_iunlock_map_shared(dp, lock_mode);
        return error;
}
...

<--  snip  -->

Note that tp is never assigned any value other than NULL (and the 
Coverity checker found a way how tp might be dereferenced four function 
calls later).

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


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