aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2018-03-08 20:35:23 -0600
committerEric Sandeen <sandeen@redhat.com>2018-03-08 20:35:23 -0600
commitde24d640d5e30bbaf25ac314f95cbcbec9a97966 (patch)
treeec6498ed2caa75cd1e99800ca624969308e34163
parenta93fcc042a7c79786dfe72f1c14737290e629c27 (diff)
downloadxfsprogs-dev-de24d640d5e30bbaf25ac314f95cbcbec9a97966.tar.gz
xfs_db: don't crash in ablock if there's no inode
Make sure we actually have an inode selected before trying to unwrap its attribute fork. Found via a crash in xfs/288 with project quotas enabled. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
-rw-r--r--db/block.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/db/block.c b/db/block.c
index 5ecd687ad9..174e29ad42 100644
--- a/db/block.c
+++ b/db/block.c
@@ -84,6 +84,11 @@ ablock_f(
}
push_cur();
set_cur_inode(iocur_top->ino);
+ if (!iocur_top->data) {
+ pop_cur();
+ dbprintf(_("no current inode\n"));
+ return 0;
+ }
haveattr = XFS_DFORK_Q((xfs_dinode_t *)iocur_top->data);
pop_cur();
if (!haveattr) {