mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-29 08:11:13 +00:00
LibCrypto: Fix off-by-one error when bit count is a multiple of 256
This commit is contained in:
parent
f9dd028119
commit
b3e112fa51
Notes:
sideshowbarker
2024-07-16 22:26:05 +09:00
Author: https://github.com/stelar7 Commit: https://github.com/SerenityOS/serenity/commit/b3e112fa51 Pull-request: https://github.com/SerenityOS/serenity/pull/23851
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include <AK/IntegralMath.h>
|
||||
#include <AK/Math.h>
|
||||
#include <AK/Stream.h>
|
||||
#include <AK/Try.h>
|
||||
#include <AK/Utf8View.h>
|
||||
|
@ -262,7 +263,8 @@ ErrorOr<void> Encoder::write_length(size_t value)
|
|||
if (value < 0x80)
|
||||
return write_byte(value);
|
||||
|
||||
size_t size_in_bits = AK::ceil_log2(value);
|
||||
double minimum_bits = AK::log2(value);
|
||||
size_t size_in_bits = AK::floor(minimum_bits) + 1;
|
||||
size_t size = ceil_div(size_in_bits, 8ul);
|
||||
TRY(write_byte(0x80 | size));
|
||||
|
||||
|
|
Loading…
Reference in a new issue