diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2019-09-11 01:11:04 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2019-09-11 01:11:04 +0300 |
commit | a20818be9ec660588af325d82e515ebb75bd9905 (patch) | |
tree | cf0766e19fa5ee4380f2236ab4bf088b7cd5d330 /malloc.c | |
parent | fe3a50824e878995999462843aff679d52e9f61b (diff) | |
download | bdwgc-a20818be9ec660588af325d82e515ebb75bd9905.tar.gz |
Workaround 'argument to function is always 1' cppcheck false positives
* allchblk.c (GC_print_hblkfreelist): Replace "while(p!=0)" with
"while(p)"; add a marker that the change is for cppcheck.
* allchblk.c (GC_free_block_ending_at, GC_add_to_fl, GC_split_block,
GC_allochblk_nth, GC_freehblk): Replace "if(p!=0)" with "if(p)".
* alloc.c (GC_set_fl_marks): Likewise.
* extra/MacOS.c (GC_MacFreeTemporaryMemory): Likewise.
* mallocx.c (GC_generic_malloc_many): Likewise.
* allchblk.c (GC_allochblk_nth): Replace "if(0==p)" with "if(p){}else".
* malloc.c (GC_free): Likewise.
* malloc.c (GC_generic_malloc_uncollectable): Replace
"if(0==p)return 0;<code>;return p;" with "if(p){<code>}return p;".
* mallocx.c (GC_generic_malloc_many): Replace "p+=v;while((p2=*p)!=0)"
with "for(p+=v;(p2=*p)!=0;)".
* reclaim.c (GC_continue_reclaim, GC_reclaim_all): Likewise.
Diffstat (limited to 'malloc.c')
-rw-r--r-- | malloc.c | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -381,14 +381,11 @@ GC_API GC_ATTR_MALLOC void * GC_CALL GC_generic_malloc_uncollectable( } GC_ASSERT(0 == op || GC_is_marked(op)); } else { - hdr * hhdr; - - op = GC_generic_malloc(lb, k); - if (NULL == op) - return NULL; + op = GC_generic_malloc(lb, k); + if (op /* != NULL */) { /* CPPCHECK */ + hdr * hhdr = HDR(op); GC_ASSERT(((word)op & (HBLKSIZE - 1)) == 0); /* large block */ - hhdr = HDR(op); /* We don't need the lock here, since we have an undisguised */ /* pointer. We do need to hold the lock while we adjust */ /* mark bits. */ @@ -401,6 +398,7 @@ GC_API GC_ATTR_MALLOC void * GC_CALL GC_generic_malloc_uncollectable( # endif hhdr -> hb_n_marks = 1; UNLOCK(); + } } return op; } @@ -564,8 +562,13 @@ GC_API void GC_CALL GC_free(void * p) struct obj_kind * ok; DCL_LOCK_STATE; - if (p == 0) return; + if (p /* != NULL */) { + /* CPPCHECK */ + } else { /* Required by ANSI. It's not my fault ... */ + return; + } + # ifdef LOG_ALLOCS GC_log_printf("GC_free(%p) after GC #%lu\n", p, (unsigned long)GC_gc_no); |