diff options
| -rw-r--r-- | xlators/features/locks/src/common.c | 2 | ||||
| -rw-r--r-- | xlators/features/locks/src/posix.c | 6 | 
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  | 
