Prevent a buffer overflow in diveToFile

Co-Authored-By: akunt
2.0.x
Scott Lahteine 7 years ago
parent c9d1a620d4
commit c2bdbdffaa

@ -622,9 +622,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…
Cancel
Save