Code Monkey home page Code Monkey logo

Comments (3)

martinsumner avatar martinsumner commented on August 20, 2024

The object compression using binary_to_term uses zlib ... but doesn't necessarily checksum. You can bit-flip in a binary, and get the bit-flipped result even if it was created with compression.

I speculate that if the term cannot be compressed, it isn't compressed and so there will be no CRC check.

A CRC check is necessary, regardless of the the use of term_to_binary compression.

from leveled.

martinsumner avatar martinsumner commented on August 20, 2024

Also the Key is not CRC checked. It may crash in an unexpected place (for example if it passes binary_to_term, but is a tuple with the wrong number of elements)

from leveled.

martinsumner avatar martinsumner commented on August 20, 2024

#140

This doesn't resolve the compatibility problem, in that another CDB reader would have to discard/ignore the checksum in the application. However, cdb compatibility is not a core goal.

This PR stops the crashes on corrupted keys, and so the issue is closed.

from leveled.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.