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
This commit is contained in:
Ludovic Courtès 2024-08-28 15:46:45 +02:00
parent 21c6d4262b
commit 591972dfa1
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 22 additions and 0 deletions

View file

@ -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 \

View file

@ -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;

View file

@ -1082,6 +1082,8 @@ (define-public libgit2-1.8
(sha256
(base32
"1mh55804cvxl2cyl4clinajzgfn3zmlhacnv1pdvdj4w6z2w4si7"))
(patches
(search-patches "libgit2-uninitialized-proxy-settings.patch"))
(snippet
'(begin
(for-each delete-file-recursively