xv6-riscv icon indicating copy to clipboard operation
xv6-riscv copied to clipboard

Fix bug where long directory names might not be null-terminated

Open Danacus opened this issue 9 months ago • 0 comments

On some versions of gcc, compiling mkfs.c fails because of the stringop-truncation warning triggered by this line: https://github.com/mit-pdos/xv6-riscv/blob/riscv/mkfs/mkfs.c#L154.

See gcc docs for an explanation of this warning. In short, if shortname is too long, the string in the direntry buffer will not be null-terminated.

We fixed this by copying only the first DIRSIZE - 1 bytes and setting the last byte to null. A similar case was found in kernel/fs.c where we can instead use safestrcpy.

Please let me know if there is anything that we have overlooked.

Danacus avatar Oct 03 '23 12:10 Danacus