소스 검색

Prevent a buffer overflow in diveToFile

Co-Authored-By: akunt
Scott Lahteine 6 년 전
부모
커밋
c2bdbdffaa
1개의 변경된 파일1개의 추가작업 그리고 2개의 파일을 삭제
  1. 1
    2
      Marlin/src/sd/cardreader.cpp

+ 1
- 2
Marlin/src/sd/cardreader.cpp 파일 보기

@@ -622,9 +622,8 @@ const char* CardReader::diveToFile(SdFile*& curDir, const char * const path, con
622 622
   while (dirname_start) {
623 623
     char * const dirname_end = strchr(dirname_start, '/');
624 624
     if (dirname_end <= dirname_start) break;
625
-
626
-    char dosSubdirname[FILENAME_LENGTH];
627 625
     const uint8_t len = dirname_end - dirname_start;
626
+    char dosSubdirname[len + 1];
628 627
     strncpy(dosSubdirname, dirname_start, len);
629 628
     dosSubdirname[len] = 0;
630 629
 

Loading…
취소
저장