diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2021-07-24 00:31:51 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2021-07-24 00:31:51 +0300 |
commit | 0e578018d47b31691a415a71337272544928b584 (patch) | |
tree | 1266744d6208d4625938cb10cec5eff8b6771c89 /allchblk.c | |
parent | 743b52a42b0ebc102a012e32ef34b522937f4d8e (diff) | |
download | bdwgc-0e578018d47b31691a415a71337272544928b584.tar.gz |
Eliminate 'accessing GC_dont_gc without lock' in GC_init code defect FP
* allchblk.c (GC_allochblk): Add assertion that GC lock is held on
entrance.
* new_hblk.c (GC_new_hblk): Likewise.
* pthread_support.c (GC_unregister_my_thread_inner): Likewise.
* misc.c [LINT2] (GC_init): Call GC_disable() instead of setting
GC_dont_gc directly.
Diffstat (limited to 'allchblk.c')
-rw-r--r-- | allchblk.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -683,6 +683,7 @@ GC_allochblk(size_t sz, int kind, unsigned flags/* IGNORE_OFF_PAGE or 0 */) int split_limit; /* Highest index of free list whose blocks we */ /* split. */ + GC_ASSERT(I_HOLD_LOCK()); GC_ASSERT((sz & (GRANULE_BYTES - 1)) == 0); blocks = OBJ_SZ_TO_BLOCKS_CHECKED(sz); if ((signed_word)(blocks * HBLKSIZE) < 0) { |