deps/zlib


Log

Author Commit Date CI Message
Andrzej Hunt 39ba0ee6 2021-06-04T18:25:19 zlib: slide_hash: add MSAN annotation to suppress known read from uninitialised memory slide_hash knowingly reads (possibly) uninitialised memory, see comment lower down about prev[n] potentially being garbage. In this case, the result is never used - so we don't care about MSAN complaining about this read. By adding the no_sanitize("memory") attribute, clients of zlib won't see this (unnecessary) error when building and running with MemorySanitizer. An alternative approach is for clients to build zlib with -fsanitize-ignorelist=... where the ignorelist contains something like 'fun:slide_hash'. But that's more work and needs to be redone for any and all CI systems running a given project with MSAN. Adding this annotation to zlib's sources is overall more convenient - but also won't affect non-MSAN builds. This specific issue was found while running git's test suite, but has also been reported by other clients, see e.g. #518.
Edward Thomson 6febb7d7 2022-07-06T09:52:22 zlib: declare prototypes for new functions The `crc32_combine_gen64` missed a prototype in our define path. Add one.
Edward Thomson 2db6cdcd 2022-07-06T09:50:55 zlib: updated bundled zlib to v1.2.12
Mark Adler af76267a 2022-03-28T10:50:16 zlib: Silence some warnings from Visual Studio C.
lhchavez 3a197ea7 2020-06-27T12:33:32 Make the tests pass cleanly with MemorySanitizer This change: * Initializes a few variables that were being read before being initialized. * Includes https://github.com/madler/zlib/pull/393. As such, it only works reliably with `-DUSE_BUNDLED_ZLIB=ON`.
Patrick Steinhardt b85eefb4 2020-05-15T19:52:40 cmake: Sort source files for reproducible builds We currently use `FILE(GLOB ...)` in most places to find source and header files. This is problematic in that the order of files returned depends on the operating system's directory iteration order and may thus not be deterministic. As a result, we link object files in unspecified order, which may cause the linker to emit different code across runs. Fix this issue by sorting all code used as input to the libgit2 library to improve the reliability of reproducible builds.
Edward Thomson 9f3441cc 2019-06-15T22:37:11 zlib: remove unused functions
lhchavez b5e8272f 2019-01-06T08:29:56 Attempt at fixing the MingW64 compilation It seems like MingW64's size_t is defined differently than in Linux.
Patrick Steinhardt 2e0f926e 2018-08-30T12:16:40 docs: clarify and include licenses of dependencies While our contribution guide tries to make clear the licenses that apply to libgit2, it does not make clear that different licenses apply to our bundled dependencies. Make this clear by listing each dependency together with the licenses that they are governed by. Furthermore, bundle the complete license texts next to the code they apply to.
Patrick Steinhardt 4c5330cb 2018-03-07T10:33:41 deps: upgrade embedded zlib to version 1.2.11 The current version of zlib bundled with libgit2 is version 1.2.8. This version has several CVEs assigned: - CVE-2016-9843 - CVE-2016-9841 - CVE-2016-9842 - CVE-2016-9840 Upgrade the bundled version to the current release 1.2.11, which has these vulnerabilities fixes.
Patrick Steinhardt 8c19969a 2017-09-06T07:38:48 cmake: fix static linking for bundled deps Our bundled deps are being built as simple static libraries which are then linked into the libgit2 library via `TARGET_LINK_LIBRARIES`. While this works for a dynamically built libgit2 library, using this function to link two static libraries does not have the expected outcome of merging those static libraries into one big library. This leads to symbols of our bundled deps being undefined in the resulting libgit2 archive. As we have bumped our minimum CMake version to 2.8.11, we can now easily make use of object libraries for our bundled dependencies. So build instructions are still self-contained inside of the dependency directories and the resulting object libraries can just be added to the LIBGIT2_OBJECTS list, which will cause them to be linked into the final resulting static library. This fixes the issue of undefined symbols.
Patrick Steinhardt 1f43a43d 2017-06-28T13:28:33 cmake: move zlib build instructions into subdirectory Extract code required to build the zlib library into its own CMakeLists.txt, which is included as required.
Patrick Steinhardt 9b0482e4 2017-06-30T19:24:15 zlib: include "git2/types.h" instead of "common.h" The zlib dependency includes "common.h" inside of the "zconf.h" header to make available some type declarations like e.g. git_off_t. Including the "common.h" header does pull in quite a lot of other headers though, which are not required at all. Instead, we can just include our public "git2/types.h" header, which is much more limited in its scope but still provides everything required for "zconf.h". This fix eases the transition later on to use a separate "features.h" header instead of defines. As we have to generate the "features.h" header, we put it in the build directory and add an include directory. As we are splitting out building of dependencies into subdirectories, this would mean that the zlib dependency needs to be aware of the parent project's build directory, which is unfortunate. By including "git2/types.h", we avoid this problem.
Carlos Martín Nieto b42ff7c0 2014-06-11T18:22:46 zlib: disable warning 4142 on MSVC This is about benign redefinition of types. We're not interested in it.
Carlos Martín Nieto 4f8ac216 2014-06-11T18:15:04 zlib: get rid of compress.c and uncompr.c
Carlos Martín Nieto 2bc76050 2014-06-11T18:10:04 zlib: get rid of gz*
Carlos Martín Nieto a9185589 2014-06-11T18:03:37 zlib: add a few missing defines
Carlos Martín Nieto 7cead31e 2014-06-11T16:36:08 Merge branch 'cmn/zlib-128' into cmn/zlib-update Conflicts: deps/zlib/crc32.c deps/zlib/crc32.h deps/zlib/zconf.h
Carlos Martín Nieto 4ca2d7e4 2014-06-11T16:10:00 Update zlib to 1.2.8
Vicent Marti f6867e63 2011-08-08T16:56:28 Fix compilation in Windows
Vicent Marti ec626853 2011-07-01T17:34:27 zlib: Declare preprocessor directives at build time
Vicent Marti 8a062003 2011-06-30T21:10:16 zlib: No visualization attributes. The visibility attribute is a headache on many platforms like Solaris, and not even supported on Windows.
Vicent Marti 9f81a37a 2011-03-16T23:02:31 Define NO_GZIP in zconf.h instead of at compile time
Vicent Marti 434bedcd 2011-03-15T19:46:38 Fix compilation warnings in ZLib (MSVC) Yes, we are changing the Zlib code. This is dangerous and uncool. Fortunately, these are just some implicit casts.
Vicent Marti 5f8078d4 2011-03-15T04:03:54 Use a more sane zconf.f when building Zlib
Vicent Marti ab6a3d3d 2011-03-15T03:25:44 Add ZLib as a built-in dependency I don't know if this is good or bad. This lets libgit2 compile cleanly on any platforms without any external dependencies, but adds a little bit of bloat... Let's test this out and see what happens.