76 lines
2.0 KiB
Diff
76 lines
2.0 KiB
Diff
|
From 302434688d925134065498b4a5574f6ee6bfb9fd Mon Sep 17 00:00:00 2001
|
|||
|
From: Florian Weimer <fweimer@redhat.com>
|
|||
|
Date: Thu, 10 Aug 2017 09:10:36 +0200
|
|||
|
Subject: [PATCH 06] nss: Call __resolv_context_put before early return in
|
|||
|
get*_r [BZ #21932]
|
|||
|
|
|||
|
This corrects an oversight introduced in commit
|
|||
|
352f4ff9a268b81ef5d4b2413f582565806e4790 (resolv: Introduce struct
|
|||
|
resolv_context).
|
|||
|
|
|||
|
(cherry picked from commit 3016149819268b14660f791b971910ccc2cc13e5)
|
|||
|
---
|
|||
|
ChangeLog | 6 ++++++
|
|||
|
NEWS | 1 +
|
|||
|
nss/getXXbyYY_r.c | 10 +++++++++-
|
|||
|
3 files changed, 16 insertions(+), 1 deletion(-)
|
|||
|
|
|||
|
diff --git a/ChangeLog b/ChangeLog
|
|||
|
index 459062c..3127648 100644
|
|||
|
--- a/ChangeLog
|
|||
|
+++ b/ChangeLog
|
|||
|
@@ -1,3 +1,9 @@
|
|||
|
+2017-08-09 Florian Weimer <fweimer@redhat.com>
|
|||
|
+
|
|||
|
+ [BZ #21932]
|
|||
|
+ * nss/getXXbyYY_r.c (REENTRANT_NAME): Call __resolv_context_put
|
|||
|
+ before early return.
|
|||
|
+
|
|||
|
2017-08-09 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|||
|
|
|||
|
[BZ #21780]
|
|||
|
diff --git a/NEWS b/NEWS
|
|||
|
index 9a64579..ec6cf34 100644
|
|||
|
--- a/NEWS
|
|||
|
+++ b/NEWS
|
|||
|
@@ -10,6 +10,7 @@ Version 2.26.1
|
|||
|
The following bugs are resolved with this release:
|
|||
|
|
|||
|
[21885] getaddrinfo: Release resolver context on error in gethosts
|
|||
|
+ [21932] Unpaired __resolv_context_get in generic get*_r implementation
|
|||
|
|
|||
|
Version 2.26
|
|||
|
|
|||
|
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
|
|||
|
index 6c547ea..bce80e0 100644
|
|||
|
--- a/nss/getXXbyYY_r.c
|
|||
|
+++ b/nss/getXXbyYY_r.c
|
|||
|
@@ -234,6 +234,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
|
|||
|
H_ERRNO_VAR_P))
|
|||
|
{
|
|||
|
case -1:
|
|||
|
+# ifdef NEED__RES
|
|||
|
+ __resolv_context_put (res_ctx);
|
|||
|
+# endif
|
|||
|
return errno;
|
|||
|
case 1:
|
|||
|
#ifdef NEED_H_ERRNO
|
|||
|
@@ -253,7 +256,12 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
|
|||
|
nscd_status = NSCD_NAME (ADD_VARIABLES, resbuf, buffer, buflen, result
|
|||
|
H_ERRNO_VAR);
|
|||
|
if (nscd_status >= 0)
|
|||
|
- return nscd_status;
|
|||
|
+ {
|
|||
|
+# ifdef NEED__RES
|
|||
|
+ __resolv_context_put (res_ctx);
|
|||
|
+# endif
|
|||
|
+ return nscd_status;
|
|||
|
+ }
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
--
|
|||
|
2.7.4.GIT
|
|||
|
|
|||
|
|