HomeFreeBSD

tftpd: silence gcc overflow warnings

Description

tftpd: silence gcc overflow warnings

GCC 13 complains that we might be writing too much to an on-stack buffer
when createing a filename.

In practice there is a check that filename isn't too long given the
time format and other static characters so GCC is incorrect, but GCC
isn't wrong that we're potentially trying to put a MAXPATHLEN length
string + some other characters into a MAXPATHLEN buffer (if you ignore
the check GCC can't realistically evaluate at compile time).

Switch to snprintf to populate filename to ensure that future logic
errors don't result in a stack overflow.

Shorten the questionably named yyyymmdd buffer enough to slience the
warning (checking the snprintf return value isn't sufficent) while
preserving maximum flexibility for admins who use the -F option.

MFC after: 3 days
Sponsored by: Klara, Inc.
Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D45086

Details

Provenance
desAuthored on May 10 2024, 9:15 PM
Reviewer
brooks
Differential Revision
D45086: tftpd: silence gcc overflow warnings
Parents
rG4d09eb87c5d5: tftpd: Satisfy clang-analyzer.
Branches
Unknown
Tags
Unknown