summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2016-08-26 10:04:39 +0300
committerIvan Maidanski <ivmai@mail.ru>2016-08-26 10:04:39 +0300
commitfc339c65ad0fffc2e5bc8332bab9c1c70329c04e (patch)
tree9ede9ea914a9b1ae95848226d478dd3513751b72
parent3e515067981fc584b8da04bb40c8a1eba2c3f251 (diff)
downloadbdwgc-fc339c65ad0fffc2e5bc8332bab9c1c70329c04e.tar.gz
Eliminate CSA false warning about null dereference in array_mark_proc
The exact warning message is: Access to field 'mse_start' results in a dereference of a null pointer (loaded from variable 'new_mark_stack_ptr'). * typd_mlc.c (GC_array_mark_proc): Add assertion that mark_stack_ptr is non-NULL (thus orig_mark_stack_ptr is non-NULL too).
-rw-r--r--typd_mlc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/typd_mlc.c b/typd_mlc.c
index 839c3144..8e92cda1 100644
--- a/typd_mlc.c
+++ b/typd_mlc.c
@@ -499,6 +499,7 @@ STATIC mse * GC_array_mark_proc(word * addr, mse * mark_stack_ptr,
/* and request a mark stack expansion. */
/* This cannot cause a mark stack overflow, since it replaces */
/* the original array entry. */
+ GC_ASSERT(mark_stack_ptr != NULL);
GC_mark_stack_too_small = TRUE;
new_mark_stack_ptr = orig_mark_stack_ptr + 1;
new_mark_stack_ptr -> mse_start = (ptr_t)addr;