Problem
The EDN decode path for encoded BLOB values currently relies on C-string semantics. That can read past the actual SQLite BLOB payload and include trailing bytes.
Impact
EDN decoding may observe random trailing bytes, causing malformed decode results or parse failures.
Scope
src/sqlite4clj/impl/encoding.clj
Proposed fix
Decode EDN from the exact SQLite BLOB length:
- Pass payload size into
decode-edn
- Slice exactly
size bytes from the memory segment
- Build UTF-8 string from that byte slice before
edn/read-string
This keeps decoding bounded to the true BLOB content.