forked from pool/glibc
54 lines
1.6 KiB
Diff
54 lines
1.6 KiB
Diff
|
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-03 Florian Weimer <fweimer@redhat.com>
|
||
|
|
||
|
[BZ #21885]
|
||
|
* sysdeps/posix/getaddrinfo.c (gethosts): Release resolver context
|
||
|
on memory allocation failure.
|
||
|
|
||
|
Index: glibc-2.26/nss/getXXbyYY_r.c
|
||
|
===================================================================
|
||
|
--- glibc-2.26.orig/nss/getXXbyYY_r.c
|
||
|
+++ glibc-2.26/nss/getXXbyYY_r.c
|
||
|
@@ -234,6 +234,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, L
|
||
|
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, L
|
||
|
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
|
||
|
|
||
|
Index: glibc-2.26/sysdeps/posix/getaddrinfo.c
|
||
|
===================================================================
|
||
|
--- glibc-2.26.orig/sysdeps/posix/getaddrinfo.c
|
||
|
+++ glibc-2.26/sysdeps/posix/getaddrinfo.c
|
||
|
@@ -255,6 +255,8 @@ convert_hostent_to_gaih_addrtuple (const
|
||
|
break; \
|
||
|
if (!scratch_buffer_grow (tmpbuf)) \
|
||
|
{ \
|
||
|
+ __resolv_context_enable_inet6 (res_ctx, res_enable_inet6); \
|
||
|
+ __resolv_context_put (res_ctx); \
|
||
|
result = -EAI_MEMORY; \
|
||
|
goto free_and_return; \
|
||
|
} \
|