mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-29 23:07:42 +00:00
Prevent a buffer overflow in cardreader
This commit is contained in:
parent
3be22fc1fc
commit
3bc392f592
@ -582,9 +582,8 @@ const char* CardReader::diveToFile(SdFile*& curDir, const char * const path, con
|
|||||||
while (dirname_start) {
|
while (dirname_start) {
|
||||||
char * const dirname_end = strchr(dirname_start, '/');
|
char * const dirname_end = strchr(dirname_start, '/');
|
||||||
if (dirname_end <= dirname_start) break;
|
if (dirname_end <= dirname_start) break;
|
||||||
|
|
||||||
char dosSubdirname[FILENAME_LENGTH];
|
|
||||||
const uint8_t len = dirname_end - dirname_start;
|
const uint8_t len = dirname_end - dirname_start;
|
||||||
|
char dosSubdirname[len + 1];
|
||||||
strncpy(dosSubdirname, dirname_start, len);
|
strncpy(dosSubdirname, dirname_start, len);
|
||||||
dosSubdirname[len] = 0;
|
dosSubdirname[len] = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user