Avoid a panic in data_encoding when parsing a wrong Inode

pmeunier
Apr 29, 2022, 9:09 AM
4D6HYFW6M2LWL6XYO6UTT3KK6JM5RVQY2WVX4BFV6JCJONO5Q2TQC

Dependencies

  • [2] 2VXTRPO4 Custom diff separators
  • [3] EEFI7RAX Alternative Inode serializer (as a Base32 str)
  • [4] 3I4PAA2A Making a few types and methods public
  • [*] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).

Change contents

  • replacement in libpijul/src/pristine/inode.rs at line 57
    [3.2085][2.305:376]()
    if data_encoding::BASE32_NOPAD.decode_mut(s, &mut b).is_ok() {
    [3.2085]
    [3.2190]
    if s.len() == 13 && data_encoding::BASE32_NOPAD.decode_mut(s, &mut b).is_ok() {
  • replacement in libpijul/src/pristine/inode.rs at line 83
    [3.563][3.2345:2463]()
    if data_encoding::BASE32_NOPAD
    .decode_mut(s.as_bytes(), &mut b)
    .is_ok()
    [3.563]
    [3.2463]
    if s.len() == 13
    && data_encoding::BASE32_NOPAD
    .decode_mut(s.as_bytes(), &mut b)
    .is_ok()