diff options
-rw-r--r-- | user/libgit2/APKBUILD | 4 | ||||
-rw-r--r-- | user/libgit2/test-32bit.patch | 59 |
2 files changed, 62 insertions, 1 deletions
diff --git a/user/libgit2/APKBUILD b/user/libgit2/APKBUILD index 9c92c996e..98b1d68ef 100644 --- a/user/libgit2/APKBUILD +++ b/user/libgit2/APKBUILD @@ -14,6 +14,7 @@ depends_dev="curl-dev libssh2-dev" makedepends="$depends_dev python3 cmake zlib-dev openssl-dev" subpackages="$pkgname-dev" source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz + test-32bit.patch " # secfixes: @@ -50,4 +51,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="de2e266939bd40bc580603539e1156906b97299523336ddc6a66c3bec26729495bef2daa2d240b83b7e011e93852381e95a4407132b0440a5aa1e1b7642c0011 libgit2-0.27.7.tar.gz" +sha512sums="de2e266939bd40bc580603539e1156906b97299523336ddc6a66c3bec26729495bef2daa2d240b83b7e011e93852381e95a4407132b0440a5aa1e1b7642c0011 libgit2-0.27.7.tar.gz +83b82b442d34b633d1889863472e51f3b6b68fbd4089d3448d86adeb7ce79eee495fea3c19edb88f563226bd2badb0166b7e41f9d4ffe8304bbf3b2abdf5a22f test-32bit.patch" diff --git a/user/libgit2/test-32bit.patch b/user/libgit2/test-32bit.patch new file mode 100644 index 000000000..d1240d904 --- /dev/null +++ b/user/libgit2/test-32bit.patch @@ -0,0 +1,59 @@ +From 415a8ae9c9b6ac18f0524b6af8e58408b426457d Mon Sep 17 00:00:00 2001 +From: Edward Thomson <ethomson@edwardthomson.com> +Date: Thu, 13 Sep 2018 13:27:07 +0100 +Subject: [PATCH] tests: don't run buf::oom on 32-bit systems + +On a 32-bit Linux systems, the value large enough to make malloc +guarantee a failure is also large enough that valgrind considers it +"fishy". Skip this test on those systems entirely. +--- + tests/buf/oom.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/tests/buf/oom.c b/tests/buf/oom.c +index 2741a8ddf2..ec3bad9979 100644 +--- a/tests/buf/oom.c ++++ b/tests/buf/oom.c +@@ -11,12 +11,8 @@ + */ + #if defined(GIT_ARCH_64) && defined(__linux__) + # define TOOBIG 0x0fffffffffffffff +-#elif defined(__linux__) +-# define TOOBIG 0x0fffffff + #elif defined(GIT_ARCH_64) + # define TOOBIG 0xffffffffffffff00 +-#else +-# define TOOBIG 0xffffff00 + #endif + + /** +@@ -25,13 +21,18 @@ + * will fail. And because the git_buf_grow() wrapper always + * sets mark_oom, the code in git_buf_try_grow() will free + * the internal buffer and set it to git_buf__oom. +- * ++ * + * We initialized the internal buffer to (the static variable) + * git_buf__initbuf. The purpose of this test is to make sure + * that we don't try to free the static buffer. ++ * ++ * Skip this test entirely on 32-bit platforms; a buffer large enough ++ * to guarantee malloc failures is so large that valgrind considers ++ * it likely to be an error. + */ + void test_buf_oom__grow(void) + { ++#ifdef GIT_ARCH_64 + git_buf buf = GIT_BUF_INIT; + + git_buf_clear(&buf); +@@ -40,6 +41,9 @@ void test_buf_oom__grow(void) + cl_assert(git_buf_oom(&buf)); + + git_buf_free(&buf); ++#else ++ cl_skip(); ++#endif + } + + void test_buf_oom__grow_by(void) |