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:
@@ -23,7 +23,7 @@ namespace io {
|
|||||||
unzClose(zipFile);
|
unzClose(zipFile);
|
||||||
return;
|
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) {
|
for (uLong i = 0; i < globalInfo.number_entry; ++i) {
|
||||||
unz_file_info fileInfo;
|
unz_file_info fileInfo;
|
||||||
if (unzGetCurrentFileInfo(zipFile, &fileInfo, filenameBuf, BUFFER_SIZE, nullptr, 0, nullptr, 0) != UNZ_OK) {
|
if (unzGetCurrentFileInfo(zipFile, &fileInfo, filenameBuf, BUFFER_SIZE, nullptr, 0, nullptr, 0) != UNZ_OK) {
|
||||||
|
Reference in New Issue
Block a user