summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/stack.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/libglusterfs/src/stack.h b/libglusterfs/src/stack.h
index 18cbf39621a..f7f4b4ad9a7 100644
--- a/libglusterfs/src/stack.h
+++ b/libglusterfs/src/stack.h
@@ -284,8 +284,13 @@ STACK_RESET (call_stack_t *stack)
GF_ATOMIC_INC (next_xl->stats.total.count); \
GF_ATOMIC_INC (next_xl->stats.interval.count); \
} \
+ \
if (next_xl->pass_through) { \
- next_xl_fn = (void *)*((&next_xl->pass_through_fops->stat) + (opn - 1)); \
+ /* next_xl_fn = (void *)*((&next_xl->pass_through_fops->stat) + (opn - 1));
+ * This assignment is changed to fix ARRAY_VS_SINGLETON coverity error.
+ */ \
+ void *base_addr = &next_xl->pass_through_fops->stat; \
+ next_xl_fn = base_addr + ((opn - 1) * sizeof(void*)); \
} \
next_xl_fn (frame, next_xl, params); \
THIS = old_THIS; \
@@ -350,7 +355,11 @@ STACK_RESET (call_stack_t *stack)
GF_ATOMIC_INC (obj->stats.total.count); \
GF_ATOMIC_INC (obj->stats.interval.count); \
} else { \
- next_xl_fn = (void *)*((&obj->pass_through_fops->stat) + (_new->op - 1)); \
+ /* next_xl_fn = (void *)*((&obj->pass_through_fops->stat) + (_new->op - 1));
+ * This assignment is changed to fix ARRAY_VS_SINGLETON coverity error.
+ */ \
+ void *base_addr = &obj->pass_through_fops->stat; \
+ next_xl_fn = base_addr + ((_new->op - 1) * sizeof(void*)); \
} \
next_xl_fn (_new, obj, params); \
THIS = old_THIS; \