Skip to content

Workaround AddressSanitizer overzealous check

The cds_lfht_for_each_entry and cds_lfht_for_each_entry_duplicate macros had a code that operated on the NULL pointer, at the end of the list it was calling caa_container_of() on the NULL pointer in the init-clause and iteration-expression, but the result wasn't actually used anywhere because the cond-expression in the for loop has prevented executing loop-statement. This made AddressSanitizer notice the invalid operation and rightfully complain.

This was reported to the upstream and fixed there. Pull the upstream fix into our <isc/urcu.h> header, so our CI checks pass.

Merge request reports