summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/features/locks/src/common.c2
-rw-r--r--xlators/features/locks/src/posix.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/xlators/features/locks/src/common.c b/xlators/features/locks/src/common.c
index a953e0d1a4a..5ad5415ed79 100644
--- a/xlators/features/locks/src/common.c
+++ b/xlators/features/locks/src/common.c
@@ -363,6 +363,8 @@ pl_update_refkeeper(xlator_t *this, inode_t *inode)
int need_ref = 0;
pl_inode = pl_inode_get(this, inode);
+ if (!pl_inode)
+ return;
pthread_mutex_lock(&pl_inode->mutex);
{
diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c
index 49ff36f0135..3528e686a96 100644
--- a/xlators/features/locks/src/posix.c
+++ b/xlators/features/locks/src/posix.c
@@ -1703,6 +1703,12 @@ pl_open(call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags,
op_ret = 0, op_errno = 0;
pl_inode = pl_inode_get(this, fd->inode);
+ if (!pl_inode) {
+ gf_msg(this->name, GF_LOG_ERROR, 0, ENOMEM, "Could not get inode");
+ op_ret = -1;
+ op_errno = ENOMEM;
+ goto unwind;
+ }
/* As per design, under forced and file-based mandatory locking modes
* it doesn't matter whether inodes's lock list contain advisory or