cli: Évite un éventuel buffer overflow

unzGetCurrentFileInfo ne dépassait pas la taille du buffer qui lui
était allouée, mais ne pouvait pas, lorsque le nom de fichier est plus
long que la taille du tampon, écrire la fin de la chaîne de
caractères (\0).
This commit is contained in:
2022-11-30 14:38:53 +01:00
parent 47df190be1
commit c5c195261e

View File

@@ -23,7 +23,7 @@ namespace io {
unzClose(zipFile);
return;
}
char readBuf[BUFFER_SIZE], filenameBuf[BUFFER_SIZE];
char readBuf[BUFFER_SIZE], filenameBuf[BUFFER_SIZE + 1] = {0};
for (uLong i = 0; i < globalInfo.number_entry; ++i) {
unz_file_info fileInfo;
if (unzGetCurrentFileInfo(zipFile, &fileInfo, filenameBuf, BUFFER_SIZE, nullptr, 0, nullptr, 0) != UNZ_OK) {