On Sat, 3 Apr 2021, Christos Zoulas wrote:
In article <ygiv7tup4jyz9...@bec.de>, Joerg Sonnenberger <jo...@bec.de> wrote:
The infinite loops are perfectly reasonable behavior for broken kernel
input and found in other tools using the interface. IMO the kernel
should always do a sanity cap for puffs/fuse here.
Yes, but defensive programming is good.
For the block sizes the libarchive code itself hints at what should
be done. In setup_suitable_read_buffer (line 645) the comment says:
/* Some platform does not set a proper value to incr_xfer_size. */
0 is also not a reasonable value. We can just return 512 if we get
anything less that 512.
For f_namemax, try a pathconf (which will fail on FUSE-ext2), then
return MAXNAMLEN if it fails.
-RVP