Commit 220f16ca authored by Paul Eggert's avatar Paul Eggert
Browse files

Re-port dump_bitset_clear to -fsanitize=undefined

* src/pdumper.c (dump_bitset_clear): Skip the memset if the
size is zero, because in that case the destination might be NULL.
This fixes a bug introduced in 2019-07-26T06:17:52Zeggert@cs.ucla.edu.
Add a comment to make the bug less likely to reoccur.
parent d9d58555
Pipeline #2780 failed with stage
in 52 minutes and 35 seconds
......@@ -4931,7 +4931,10 @@ dump_bitset_set_bit (struct dump_bitset *bitset, size_t bit_number)
static void
dump_bitset_clear (struct dump_bitset *bitset)
{
memset (bitset->bits, 0, bitset->number_words * sizeof bitset->bits[0]);
/* Skip the memset if bitset->number_words == 0, because then bitset->bits
might be NULL and the memset would have undefined behavior. */
if (bitset->number_words)
memset (bitset->bits, 0, bitset->number_words * sizeof bitset->bits[0]);
}
struct pdumper_loaded_dump_private
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment