free(destination->str);
destination->str = malloc(size);
destination->currentStringBufferSize = size;
- destination->currentStringLength = size - 1;
}
status = mz_zip_reader_extract_to_mem(pZip, index, destination->str, destination->currentStringBufferSize, 0);
+ destination->currentStringLength = size - 1;
+ destination->str[destination->currentStringLength] = '\0';
if (!status) {
fprintf(stderr, "mz_zip_reader_extract_to_mem() failed.\n");
return status;
}
+ status = mz_zip_validate_archive(&pZip,0);
+
+ if (!status) {
+ fprintf(stderr, "mz_zip_validate_archive failed.\n");
+ return status;
+ }
return unzip_file_from_archive(&pZip, filename, destination);
}