summaryrefslogtreecommitdiffstats
path: root/xlators/features/changetimerecorder/src/changetimerecorder.c
diff options
context:
space:
mode:
authorN Balachandran <nbalacha@redhat.com>2016-07-26 11:27:16 +0530
committerDan Lambright <dlambrig@redhat.com>2016-07-27 05:58:27 -0700
commitbda4a2be0bba608d61bd04815e92b2d4cc63e7f2 (patch)
treeb22ac8d0977f564869a18a21f273e7cc7d52e114 /xlators/features/changetimerecorder/src/changetimerecorder.c
parenta5b9677500bb61abda1693973668c21428beff79 (diff)
features/ctr: Check for NULL local
This is a defensive fix to prevent a crash reported during a rename operation. This is not reproducible under normal circumstances. This patch also moves ctr-messages.h to the src dir of the changetimerecorder xlator. Backported from master: http://review.gluster.org/#/c/14964/ Change-Id: I2aac2d4da5752f6a0b45a70e0d97a4d506532ff4 BUG: 1360125 Signed-off-by: N Balachandran <nbalacha@redhat.com> Reviewed-on: http://review.gluster.org/15007 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Milind Changire <mchangir@redhat.com> Reviewed-by: Dan Lambright <dlambrig@redhat.com>
Diffstat (limited to 'xlators/features/changetimerecorder/src/changetimerecorder.c')
-rw-r--r--xlators/features/changetimerecorder/src/changetimerecorder.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/xlators/features/changetimerecorder/src/changetimerecorder.c b/xlators/features/changetimerecorder/src/changetimerecorder.c
index 0631d5e6c73..9e748448061 100644
--- a/xlators/features/changetimerecorder/src/changetimerecorder.c
+++ b/xlators/features/changetimerecorder/src/changetimerecorder.c
@@ -835,13 +835,19 @@ ctr_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
if (ret) {
gf_msg (this->name, GF_LOG_ERROR, 0,
CTR_MSG_GET_CTR_RESPONSE_LINK_COUNT_XDATA_FAILED,
- "Failed to getting GF_RESPONSE_LINK_COUNT_XDATA");
+ "Failed to get GF_RESPONSE_LINK_COUNT_XDATA");
remaining_links = -1;
goto out;
}
ctr_local = frame->local;
+ if (!ctr_local) {
+ gf_msg (this->name, GF_LOG_ERROR, 0, CTR_MSG_NULL_LOCAL,
+ "ctr_local is NULL.");
+ goto out;
+ }
+
/* This is not the only link */
if (remaining_links > 1) {
fop_type = GFDB_FOP_DENTRY_WRITE;