how noisy is ubsan ? should we add it to CI ? сб, 18 янв. 2020 г. в 06:07, Tim Duesterhus <t...@bastelstu.be>:
> 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 | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/dns.c b/src/dns.c > index bc68a81c0..64bb0d15f 100644 > --- a/src/dns.c > +++ b/src/dns.c > @@ -54,7 +54,7 @@ > struct list dns_resolvers = LIST_HEAD_INIT(dns_resolvers); > struct list dns_srvrq_list = LIST_HEAD_INIT(dns_srvrq_list); > > -static THREAD_LOCAL int64_t dns_query_id_seed = 0; /* random seed */ > +static THREAD_LOCAL uint64_t dns_query_id_seed = 0; /* random seed */ > > DECLARE_STATIC_POOL(dns_answer_item_pool, "dns_answer_item", > sizeof(struct dns_answer_item)); > DECLARE_STATIC_POOL(dns_resolution_pool, "dns_resolution", > sizeof(struct dns_resolution)); > -- > 2.25.0 > > >