aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-08-28 15:46:45 +0200
committerLudovic Courtès <ludo@gnu.org>2024-08-28 16:37:31 +0200
commit591972dfa14d401621cb060b6aac45989c342cd8 (patch)
tree6edfcf1e9b4f5dc4f1fb2d3396784c5eaa4235db
parent21c6d4262baea9647b1a3e1c806859ee41ca77af (diff)
downloadguix-591972dfa14d401621cb060b6aac45989c342cd8.tar
guix-591972dfa14d401621cb060b6aac45989c342cd8.tar.gz
gnu: libgit2@1.8: Fix use of uninitialized value.
* gnu/packages/patches/libgit2-uninitialized-proxy-settings.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/version-control.scm (libgit2-1.8)[source]: Use it. Change-Id: I6b0f009d352ddadfcc57b945baea0dcc1bac0589
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/libgit2-uninitialized-proxy-settings.patch19
-rw-r--r--gnu/packages/version-control.scm2
3 files changed, 22 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7b8f295566..9a145a539f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1632,6 +1632,7 @@ dist_patch_DATA = \
%D%/packages/patches/libgda-fix-missing-initialization.patch \
%D%/packages/patches/libgda-skip-postgresql-tests.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
+ %D%/packages/patches/libgit2-uninitialized-proxy-settings.patch \
%D%/packages/patches/libgnome-encoding.patch \
%D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libgrss-CVE-2016-2001.patch \
diff --git a/gnu/packages/patches/libgit2-uninitialized-proxy-settings.patch b/gnu/packages/patches/libgit2-uninitialized-proxy-settings.patch
new file mode 100644
index 0000000000..40010cf811
--- /dev/null
+++ b/gnu/packages/patches/libgit2-uninitialized-proxy-settings.patch
@@ -0,0 +1,19 @@
+Fix use of uninitialized value in the http-parser backend, a bug introduced
+in libgit2 1.8.1:
+
+ https://github.com/libgit2/libgit2/pull/6870
+
+This code is exercised by 'tests/proxy.scm' in Guile-Git.
+
+diff --git a/src/libgit2/transports/httpparser.c b/src/libgit2/transports/httpparser.c
+index 50ba6d2e0..1f0e65372 100644
+--- a/src/libgit2/transports/httpparser.c
++++ b/src/libgit2/transports/httpparser.c
+@@ -71,6 +71,7 @@ size_t git_http_parser_execute(
+ {
+ struct http_parser_settings settings_proxy;
+
++ settings_proxy.on_status = NULL;
+ settings_proxy.on_message_begin = parser->settings.on_message_begin ? on_message_begin : NULL;
+ settings_proxy.on_url = parser->settings.on_url ? on_url : NULL;
+ settings_proxy.on_header_field = parser->settings.on_header_field ? on_header_field : NULL;
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 6fcca6042f..8db761f9c9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1082,6 +1082,8 @@ write native speed custom Git applications in any language with bindings.")
(sha256
(base32
"1mh55804cvxl2cyl4clinajzgfn3zmlhacnv1pdvdj4w6z2w4si7"))
+ (patches
+ (search-patches "libgit2-uninitialized-proxy-settings.patch"))
(snippet
'(begin
(for-each delete-file-recursively