guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

15/16: gnu: mit-krb5: Fix segfault in gsasl test suite.


From: guix-commits
Subject: 15/16: gnu: mit-krb5: Fix segfault in gsasl test suite.
Date: Sat, 14 Mar 2020 07:03:57 -0400 (EDT)

mbakke pushed a commit to branch core-updates
in repository guix.

commit e59d958a9c9a509ce34ca553a5b1b03e406d561f
Author: Marius Bakke <address@hidden>
AuthorDate: Sat Mar 14 12:00:56 2020 +0100

    gnu: mit-krb5: Fix segfault in gsasl test suite.
    
    * gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
    * gnu/packages/kerberos.scm (mit-krb5)[source](patches): New field.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/kerberos.scm                          |  1 +
 .../patches/mit-krb5-qualify-short-hostnames.patch | 29 ++++++++++++++++++++++
 3 files changed, 31 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index ebb6b85..2ccffb3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1187,6 +1187,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/mingw-w64-6.0.0-gcc.patch               \
   %D%/packages/patches/minisat-friend-declaration.patch                \
   %D%/packages/patches/minisat-install.patch                   \
+  %D%/packages/patches/mit-krb5-qualify-short-hostnames.patch  \
   %D%/packages/patches/mpc123-initialize-ao.patch              \
   %D%/packages/patches/module-init-tools-moduledir.patch       \
   %D%/packages/patches/monero-use-system-miniupnpc.patch                       
\
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index af3a0d1..0e290c0 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -60,6 +60,7 @@
                     (string-append "https://kerberos.org/dist/krb5/";
                                    (version-major+minor version)
                                    "/krb5-" version ".tar.gz")))
+              (patches (search-patches 
"mit-krb5-qualify-short-hostnames.patch"))
               (sha256
                (base32
                 "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk"))))
diff --git a/gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch 
b/gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch
new file mode 100644
index 0000000..491a358
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch
@@ -0,0 +1,29 @@
+Fix a null pointer dereference when no DNS search path is configured.
+This showed up as a segfault while running the gsasl test suite.
+
+Taken from upstream:
+https://github.com/krb5/krb5/commit/cd82bf377e7fad2409c76bf8b241920692f34fda
+
+diff --git a/src/lib/krb5/os/dnsglue.c b/src/lib/krb5/os/dnsglue.c
+index e35ca9d76c..0cd213fdd7 100644
+--- a/src/lib/krb5/os/dnsglue.c
++++ b/src/lib/krb5/os/dnsglue.c
+@@ -91,7 +91,7 @@ static int initparse(struct krb5int_dns_state *);
+ #define DECLARE_HANDLE(h) struct __res_state h
+ #define INIT_HANDLE(h) (memset(&h, 0, sizeof(h)), res_ninit(&h) == 0)
+ #define SEARCH(h, n, c, t, a, l) res_nsearch(&h, n, c, t, a, l)
+-#define PRIMARY_DOMAIN(h) strdup(h.dnsrch[0])
++#define PRIMARY_DOMAIN(h) ((h.dnsrch[0] == NULL) ? NULL : strdup(h.dnsrch[0]))
+ #if HAVE_RES_NDESTROY
+ #define DESTROY_HANDLE(h) res_ndestroy(&h)
+ #else
+@@ -104,7 +104,8 @@ static int initparse(struct krb5int_dns_state *);
+ #define DECLARE_HANDLE(h)
+ #define INIT_HANDLE(h) (res_init() == 0)
+ #define SEARCH(h, n, c, t, a, l) res_search(n, c, t, a, l)
+-#define PRIMARY_DOMAIN(h) strdup(_res.defdname)
++#define PRIMARY_DOMAIN(h) \
++    ((_res.defdname == NULL) ? NULL : strdup(_res.defdname))
+ #define DESTROY_HANDLE(h)
+ 
+ #endif



reply via email to

[Prev in Thread] Current Thread [Next in Thread]