jmcnamara / libxlsxwriter

A C library for creating Excel XLSX files.
https://libxlsxwriter.github.io
Other
1.48k stars 330 forks source link

Maintenance: update vendored minizip code to the version distributed with zlib v1.3 #420

Closed jayaddison closed 9 months ago

jayaddison commented 9 months ago

Updates the vendored copy of minizip within libxlsxwriter to the version distributed with version 1.3 of zlib with a few libxlsxwriter customizations retained / re-applied.

I have run the tests (make test) and valgrind checks (make test_valgrind) on a system where minizip is not available as a system-provided library (to make sure that the vendored copy of the code was in use) and these passed.

Abbreviated output from the tests is included below:

$ make test
...
RESULTS: 430 tests (430 ok, 0 failed, 0 skipped) ran in 40.4 ms
...
=============================================================== 759 passed in 8.08s ===============================================================

A small number of warnings were emitted by the valgrind checks; mostly string validation errors (length limits exceeded, unacceptable-null values, and placeholder-count mismatches), and it exited with code 0.

Resolves #419.

jmcnamara commented 9 months ago

Thanks that is good work. Particularly picking up the local changes to avoid compilation warning on some systems. I must check if v1.3 actually passes -pedantic -ansi now.

A small number of warnings were emitted by the valgrind checks

These are from test cases that are meant to emit warnings. The are harmless in the context of valgrind checks.

Good work overall. I'm happy to merge.

jayaddison commented 9 months ago

Thank you, @jmcnamara!

jayaddison commented 7 months ago

@jmcnamara a note that zlib v1.3.1 is now available, including the cherry-picked security fix. I can open a follow-up pull request with an upgrade to that if you like, or let me know if you'd prefer to apply the upgrade yourself.

jmcnamara commented 7 months ago

Thanks. A PR would be helpful.