BUG/MINOR: dns: Make dns_query_id_seed unsigned
authorTim Duesterhus <tim@bastelstu.be>
Sat, 18 Jan 2020 01:04:12 +0000 (02:04 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 18 Jan 2020 05:45:54 +0000 (06:45 +0100)
commitfcac33d0c1138ef22914c3b36518c1df105c9b72
tree979d79025552e15c2b3847e870402154cbd8b269
parentd34b1ce5a20ce8f62b234f9696a621aaebe694c1
BUG/MINOR: dns: Make dns_query_id_seed unsigned

Left shifting of large signed values and negative values is undefined.

In a test script clang's ubsan rightfully complains:

> runtime error: left shift of 1934242336581872173 by 13 places cannot be represented in type 'int64_t' (aka 'long')

This bug was introduced in the initial version of the DNS resolver
in 325137d603aa81bd24cbd8c99d816dd42291daa7. The fix must be backported
to HAProxy 1.6+.
src/dns.c