Ver código fonte

Prevent a buffer overflow in diveToFile

Co-Authored-By: akunt
Scott Lahteine 6 anos atrás
pai
commit
c2bdbdffaa
1 arquivos alterados com 1 adições e 2 exclusões
  1. 1
    2
      Marlin/src/sd/cardreader.cpp

+ 1
- 2
Marlin/src/sd/cardreader.cpp Ver arquivo

622
   while (dirname_start) {
622
   while (dirname_start) {
623
     char * const dirname_end = strchr(dirname_start, '/');
623
     char * const dirname_end = strchr(dirname_start, '/');
624
     if (dirname_end <= dirname_start) break;
624
     if (dirname_end <= dirname_start) break;
625
-
626
-    char dosSubdirname[FILENAME_LENGTH];
627
     const uint8_t len = dirname_end - dirname_start;
625
     const uint8_t len = dirname_end - dirname_start;
626
+    char dosSubdirname[len + 1];
628
     strncpy(dosSubdirname, dirname_start, len);
627
     strncpy(dosSubdirname, dirname_start, len);
629
     dosSubdirname[len] = 0;
628
     dosSubdirname[len] = 0;
630
 
629
 

Carregando…
Cancelar
Salvar