• ivan tkachenko's avatar
    upower: Prevent integer overflow during new brightness computation · dd74cdbd
    ivan tkachenko authored
    Provably, if two integers can fit in 31 bits each, the result of their
    multiplication is expressible in 62 bits (let alone 63 available). So,
    this should be safe. And the division can't do much harm: the divisor
    is always at least 1, and worst case scenario — it would be so big that
    the overall results becomes zero.
    
    This code still assumes that the allowed brightness values can fit in 32
    bits int, which is not totally unreasonable so far.
    
    BUG: 454161
    
    
    (cherry picked from commit 2ebe655d)
    dd74cdbd