You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the plocate file parser class outside of the Dissect context I noticed a bug: (almost) every 32nd path gets appended to the previous path.
While testing with target-query I also could reproduce this behaviour on Debian, Ubuntu and Fedora.
I tested and reproduced this on:
Fedora 39: python 3.12.0 (plocate 1.1.17)
Fedora 40: python 3.12.2 & python 3.9.19 (plocate 1.1.22)
Ubuntu 11.04: python 3.10.12 (plocate 1.1.15)
Debian 11: python 3.9.2 (plocate 1.1.8-2)
Thank you for the fix @Horofic. This seems like an oversight from our end. It is not clear to us as to why the end of a zstd frame does not contain a final null byte. Could that be a bug in plocate's zstd implementation? Reading in chunks and splitting on null bytes seems like a reasonable fix to us for now.
I have not looked at any plocate code, but I can imagine it's a small optimisation if the decompressed data fits entirely within one frame, otherwise you'd have to move the final path to the next frame just to fit the null byte. Especially if you then decompress into a char[FRAME_SIZE + 1] it shouldn't give you any trouble in C.
Using the plocate file parser class outside of the Dissect context I noticed a bug: (almost) every 32nd path gets appended to the previous path.
While testing with target-query I also could reproduce this behaviour on Debian, Ubuntu and Fedora.
I tested and reproduced this on:
Fedora 39: python 3.12.0 (plocate 1.1.17)
Fedora 40: python 3.12.2 & python 3.9.19 (plocate 1.1.22)
Ubuntu 11.04: python 3.10.12 (plocate 1.1.15)
Debian 11: python 3.9.2 (plocate 1.1.8-2)
plugin function used: https://github.com/fox-it/dissect.target/blob/b1bcb0d89d3b24a9ad7e8150d63ddd6dd30a82a2/dissect/target/plugins/os/unix/locate/plocate.py#L138C21-L138C26
The text was updated successfully, but these errors were encountered: