kumquat-buildroot/package/git/0002-git-compat-util-undefine-system-names-before-redecla.patch
Bagas Sanjaya 5085b61121 package/git: security bump to version 2.39.2
Fix two CVEs (CVE-2023-22490 and CVE-2023-23946). For the full release
note, see [1].

While at it, also refresh two Buildroot patches introduced when the
package was bumped to 2.39.0.

[1]: https://lore.kernel.org/git/xmqqr0us5dio.fsf@gitster.g/

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-02-19 19:44:33 +01:00

56 lines
2.0 KiB
Diff

From d4a11fd215195cd1ca6a43058ef250b688ade1f4 Mon Sep 17 00:00:00 2001
From: Jeff King <peff@peff.net>
Date: Fri, 2 Dec 2022 06:05:38 -0500
Subject: [PATCH] git-compat-util: undefine system names before redeclaring
them
When we define a macro to point a system function (e.g., flockfile) to
our custom wrapper, we should make sure that the system did not already
define it as a macro. This is rarely a problem, but can cause
compilation failures if both of these are true:
- we decide to define our own wrapper even though the system provides
the function; we know this happens at least with uclibc, which may
declare flockfile, etc, without _POSIX_THREAD_SAFE_FUNCTIONS
- the system version is declared as a macro; we know this happens at
least with uclibc's version of getc_unlocked()
So just handling getc_unlocked() would be sufficient to deal with the
real-world case we've seen. But since it's easy to do, we may as well be
defensive about the other macro wrappers added in the previous patch.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
[Bagas: cherry-picked from e1a95b78d8a26762ea04332de8b7c3878da51522 on next branch]
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
---
git-compat-util.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/git-compat-util.h b/git-compat-util.h
index f6882b9b50..dadb9e55cb 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -346,6 +346,7 @@ static inline int git_setitimer(int which,
struct itimerval *newvalue) {
return 0; /* pretend success */
}
+#undef setitimer
#define setitimer(which,value,ovalue) git_setitimer(which,value,ovalue)
#endif
@@ -1488,6 +1489,9 @@ static inline void git_funlockfile(FILE *fh)
{
; /* nothing */
}
+#undef flockfile
+#undef funlockfile
+#undef getc_unlocked
#define flockfile(fh) git_flockfile(fh)
#define funlockfile(fh) git_funlockfile(fh)
#define getc_unlocked(fh) getc(fh)
--
An old man doll... just what I always wanted! - Clara