]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: quic: Floating point exception in cubic_root()
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 3 Aug 2022 10:49:30 +0000 (12:49 +0200)
committerFrédéric Lécaille <flecaille@haproxy.com>
Wed, 3 Aug 2022 12:27:20 +0000 (14:27 +0200)
commit2c77a5eb8e614db4abdb335edd1872c6dc51ccf7
treea3a90c7846e40469a9549f5915e84dc7c628c5ab
parent8ddde4f05e1cc82209b6054fa8cfc4c4e0eb1788
BUG/MEDIUM: quic: Floating point exception in cubic_root()

It is illegal to call my_flsl() with 0 as parameter value. It is a UB.
This leaded cubic_root() to divide values by 0 at this line:

  x = 2 * x + (uint32_t)(val / ((uint64_t)x * (uint64_t)(x - 1)));

Thank you to Tristan971 for having reported this issue in GH #1808
and Willy for having spotted the root cause of this bug.

Must follow any cubic for QUIC backport (2.6).
src/quic_cc_cubic.c