diff options
author | bptato <nincsnevem662@gmail.com> | 2023-12-05 16:25:33 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2023-12-05 16:25:33 +0100 |
commit | 2ca9220c1badad6b54240d907472b0fedc590eff (patch) | |
tree | 1e2f67514fc77d8f290bb4ce713454ad1bc8ed17 /lib/quickjs/libbf.c | |
parent | e014d84ccbfedf4c844b46bb9443392e0d9817d7 (diff) | |
download | chawan-2ca9220c1badad6b54240d907472b0fedc590eff.tar.gz |
Revert "fix undefined behavior: shift 32 bits for uint32_t in bf_set_ui"
This reverts commit 821693c4374d9895f462fa29644905c61dbb241d. (Importing fix from upstream instead.)
Diffstat (limited to 'lib/quickjs/libbf.c')
-rw-r--r-- | lib/quickjs/libbf.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/lib/quickjs/libbf.c b/lib/quickjs/libbf.c index 63e7daeb..fe1628e7 100644 --- a/lib/quickjs/libbf.c +++ b/lib/quickjs/libbf.c @@ -235,13 +235,8 @@ int bf_set_ui(bf_t *r, uint64_t a) a0 = a; a1 = a >> 32; shift = clz(a1); - // shift < 32 because a > 0xffffffff r->tab[0] = a0 << shift; - if (shift == 0) { - r->tab[1] = a1; - } else { - r->tab[1] = (a1 << shift) | (a0 >> (LIMB_BITS - shift)); - } + r->tab[1] = (a1 << shift) | (a0 >> (LIMB_BITS - shift)); r->expn = 2 * LIMB_BITS - shift; } #endif |