Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uint: fix UB in uint::from_big_endian #381

Merged
merged 2 commits into from
Apr 27, 2020
Merged

uint: fix UB in uint::from_big_endian #381

merged 2 commits into from
Apr 27, 2020

Conversation

ordian
Copy link
Member

@ordian ordian commented Apr 27, 2020

Fixes #380.

u256_from_be            time:   [23.877 ns 24.007 ns 24.160 ns]                          
                        change: [-6.5124% -5.8920% -5.3296%] (p = 0.00 < 0.05)
                        Performance has improved.

@ordian ordian changed the title uint: fix UB in uint::from_fig_endian uint: fix UB in uint::from_big_endian Apr 27, 2020
Copy link
Contributor

@dvdplm dvdplm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like a win across the board: nicer code, better perf, no UB. 🎉

@ordian ordian merged commit 9d1c613 into master Apr 27, 2020
@ordian ordian deleted the ao-fix-ub-in-uint branch April 27, 2020 10:18
ordian added a commit that referenced this pull request May 5, 2020
* master: (56 commits)
  primitive-types: add no_std support for serde feature (#385)
  Add Rocksdb Secondary Instance Api (#384)
  kvdb-rocksdb: update rocksdb to 0.14 (#379)
  prepare releases for a few crates (#382)
  uint: fix UB in uint::from_big_endian (#381)
  Fix limit prefix delete case (#368)
  Add arbitrary trait implementation (#378)
  kvdb-rocksdb: optimize and rename iter_from_prefix  (#365)
  bump parity-util-mem (#376)
  parity-util-mem: fix for windows (#375)
  keccak-hash: fix bench and add one for range (#372)
  [parity-crypto] Release 0.6.1 (#373)
  keccak-hash: bump version to 0.5.1 (#371)
  keccak-hash: add keccak256_range and keccak512_range functions (#370)
  Allow pubkey recovery for all-zero messages (#369)
  Delete by prefix operator in kvdb (#360)
  kvdb: no overlay (#313)
  Ban duplicates of parity-uil-mem from being linked into the same program (#363)
  Use correct license ID (#362)
  Memtest example for Rocksdb (#349)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Undefined Behaviour in uint::from_big_endian
3 participants