nss: Call __resolv_context_put before early return in get*_r [BZ #21932]

This corrects an oversight introduced in commit
352f4ff9a2 (resolv: Introduce struct
resolv_context).
This commit is contained in:
Florian Weimer 2017-08-09 17:46:04 +02:00
parent 756d169989
commit 3016149819
2 changed files with 15 additions and 1 deletions

View File

@ -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 Andreas Schwab <schwab@suse.de>
[BZ #21041]

View File

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