Dumitru Ceara <[email protected]> writes:

> UB Sanitizer report:
>   lib/stopwatch.c:119:22: runtime error: index 18446744073709551615 out of 
> bounds for type 'long long unsigned int [50]'
>       #0 0x698358 in calc_percentile lib/stopwatch.c:119
>       #1 0x69ada1 in add_sample lib/stopwatch.c:231
>       #2 0x69c086 in stopwatch_end_sample_protected lib/stopwatch.c:386
>       #3 0x69c522 in stopwatch_thread lib/stopwatch.c:441
>       #4 0x684bae in ovsthread_wrapper lib/ovs-thread.c:383
>       #5 0x7f042838b298 in start_thread (/lib64/libpthread.so.0+0x9298)
>       #6 0x7f04277f2352 in clone (/lib64/libc.so.6+0x100352)
>
> Signed-off-by: Dumitru Ceara <[email protected]>
> ---

It's a good catch - even with the fixed qsort, the caculated percentiles
are all incorrect.

I wonder if it also makes sense to have an early exit case in the
calc_percentile function.  Either way, I think this makes a lot of sense
to me.

Acked-by: Aaron Conole <[email protected]>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to