• brezel@piefed.social
    link
    fedilink
    English
    arrow-up
    40
    arrow-down
    6
    ·
    16 days ago

    The algorithm checked only the last 16 characters of the path, so package differences were not considered.

    that is such a C thing to do.

    • Corngood@lemmy.ml
      link
      fedilink
      English
      arrow-up
      27
      ·
      16 days ago

      It’s not as stupid as this blog post makes it sound. This was a hashing function that was intentionally taking the end of the path as the most significant part. This just impacts the order of objects in a pack file, and the size of the compression window needed to compress it.

      It’s not actually mistaking one file for another, and their proposed solution is not better in all situations.

      • brezel@piefed.social
        link
        fedilink
        arrow-up
        10
        arrow-down
        3
        ·
        16 days ago

        yeah i’m not saying it is stupid or something, but this kind of optimisation is found in C code very often, where people take the first|last N of something because it is most likely good enough :D