History log of /freebsd-current/usr.sbin/fstyp/msdosfs.c
Revision Date Author Comments
# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 27c2f016 30-Mar-2022 Ed Maste <emaste@FreeBSD.org>

fstyp: Correct comment: Raspberry Pi Pico, not Nano

Fixes: 868c1b8431f2 ("fstyp: detect Raspberry Pi Pico boot...")


# 868c1b84 28-Mar-2022 Ed Maste <emaste@FreeBSD.org>

fstyp: detect Raspberry Pi Pico boot filesystem as FAT

fstyp looks for a 0x55 0xAA signature at offset 510, but this is not
required by specifications and is not proivded by the Raspberry Pi Nano
bootloader.

We should really remove the signature check and implement a more
comprehensive BPB validation instead, but it will require more
investigation and testing. For now just add a special case for the
Raspberry Pi Nano bootloader, to avoid introducing regressions or new
false positives.

PR: 262896
Reviewed by: delphij
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34699


# 63d24336 27-Oct-2021 Jessica Clarke <jrtc27@FreeBSD.org>

Fix off-by-one error in msdosfs FAT32 volume label copying

I dropped the + 1 from the other two instances in each file but failed
to do so for this one, resulting in a more egregious buffer overread
than the one I was fixing (since the read character ended up in the
output if there was space).

Reported by: Jenkins
Fixes: 34fb1c133c5b ("Fix intra-object buffer overread for labeled msdosfs volumes")


# 34fb1c13 24-Oct-2021 Jessica Clarke <jrtc27@FreeBSD.org>

Fix intra-object buffer overread for labeled msdosfs volumes

Volume labels, like directory entries, are padded with spaces and so
have no NUL terminator. Whilst the MIN for the dsize argument to strlcpy
ensures that the copy does not overflow the destination, strlcpy is
defined to return the number of characters in the source string,
regardless of the provided dsize, and so keeps reading until it finds a
NUL, which likely exists somewhere within the following fields, but On
CHERI with the subobject bounds enabled in the compiler this buffer
overread will be detected and trap with a bounds violation.

Found by: CHERI
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D32579


# 628b7128 18-Jun-2015 Edward Tomasz Napierala <trasz@FreeBSD.org>

Fix off-by-one error in fstyp(8) and geom_label(4) that made them use
a single space (" ") as a CD9660 label name when no label was present.
Similar problem was also present in msdosfs label recognition.

PR: 200828
Differential Revision: https://reviews.freebsd.org/D2830
Reviewed by: asomers@, emaste@
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


# be3a49ee 10-Dec-2014 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add fstyp(8). This utility, named after its SVR4 counterpart, detects
filesystems. It differs from file(1) in that it gives machine-parseable
output, it outputs filesystem labels, doesn't get confused by other
formats metadata, and runs in Capsicum sandbox.

Differential Revision: https://reviews.freebsd.org/D1255
Relnotes: yes
Sponsored by: The FreeBSD Foundation