From 734f68f4116fd32066aa49cda93707b02ba194cf Mon Sep 17 00:00:00 2001 From: vmallika Date: Thu, 30 Apr 2015 16:26:03 +0530 Subject: posix: handle failure from posix_resolve This is backport of http://review.gluster.org/#/c/9941/ > When building ancestory, posix_resolve gets the inode > from the gfid. We need to handle the failure case from > this function > > Change-Id: I19f0f0c739686b1b0ef96309212aa1c7911b3589 > BUG: 1203629 > Signed-off-by: vmallika > Reviewed-on: http://review.gluster.org/9941 > Reviewed-by: Raghavendra Bhat > Tested-by: Gluster Build System > Reviewed-by: Pranith Kumar Karampuri > Tested-by: Pranith Kumar Karampuri Change-Id: If3f9a910be3d08293199748c9e04b3be2d8633c7 BUG: 1217432 Signed-off-by: vmallika Reviewed-on: http://review.gluster.org/10471 Tested-by: Gluster Build System Reviewed-by: Niels de Vos --- xlators/storage/posix/src/posix-handle.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xlators/storage/posix/src/posix-handle.c b/xlators/storage/posix/src/posix-handle.c index bc5786359fd..d3b94ff7e34 100644 --- a/xlators/storage/posix/src/posix-handle.c +++ b/xlators/storage/posix/src/posix-handle.c @@ -175,6 +175,10 @@ posix_make_ancestryfromgfid (xlator_t *this, char *path, int pathsize, memset (&iabuf, 0, sizeof (iabuf)); inode = posix_resolve (this, itable, *parent, dir_name, &iabuf); + if (inode == NULL) { + ret = -1; + goto out; + } ret = posix_make_ancestral_node (priv_base_path, path, pathsize, head, dir_name, &iabuf, inode, type, xdata); -- cgit