diff options
| author | Amar Tumballi <amar@gluster.com> | 2010-07-02 04:55:28 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2010-07-02 05:17:03 -0700 | 
| commit | 2f15ffd6b5beef9abd501c594bc3cb38c2683f77 (patch) | |
| tree | 107176560e1a97c42f3535380ef49d4dee3b0cd6 /libglusterfs/src/stack.h | |
| parent | 3dc79ca8e6119f5ff61058cc87f9a4fc251017ef (diff) | |
NULL dereference fixes in code base after running with 'clang'
* 212 logical (NULL deref/divide by zero) errors reduced to 28
  (27 of them in contrib/ and lex part of codebase, 1 is invalid)
* 11 API errors reduced to 0
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
Diffstat (limited to 'libglusterfs/src/stack.h')
| -rw-r--r-- | libglusterfs/src/stack.h | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/libglusterfs/src/stack.h b/libglusterfs/src/stack.h index ac69e389f22..1ce46ccdc89 100644 --- a/libglusterfs/src/stack.h +++ b/libglusterfs/src/stack.h @@ -253,7 +253,10 @@ STACK_DESTROY (call_stack_t *stack)  		ret_fn_t      fn = NULL;                                \  		call_frame_t *_parent = NULL;                           \                  xlator_t     *old_THIS = NULL;                          \ -                                                                        \ +                if (!frame) {                                           \ +                        gf_log ("stack", GF_LOG_CRITICAL, "!frame");    \ +                        break;                                          \ +                }                                                       \                  fn = frame->ret;                                        \                  _parent = frame->parent;                                \  		_parent->ref_count--;					\ @@ -277,6 +280,10 @@ STACK_DESTROY (call_stack_t *stack)  		call_frame_t *_parent = NULL;                           \                  xlator_t     *old_THIS = NULL;                          \                                                                          \ +                if (!frame) {                                           \ +                        gf_log ("stack", GF_LOG_CRITICAL, "!frame");    \ +                        break;                                          \ +                }                                                       \                  fn = (fop_##op##_cbk_t )frame->ret;                     \                  _parent = frame->parent;                                \  		_parent->ref_count--;					\  | 
