mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-10 05:03:06 +03:00
* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): If there are
no answers return NSS_STATUS_NOTFOUND. (gaih_getanswer): Don't call gaih_getanswer_slice if the answer buffer does not have any content. * nscd/servicescache.c: Likewise.
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
2008-05-17 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): If there are
|
||||||
|
no answers return NSS_STATUS_NOTFOUND.
|
||||||
|
(gaih_getanswer): Don't call gaih_getanswer_slice if the answer
|
||||||
|
buffer does not have any content.
|
||||||
|
|
||||||
2008-05-16 Ulrich Drepper <drepper@redhat.com>
|
2008-05-16 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp.
|
* string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp.
|
||||||
@@ -174,7 +181,7 @@
|
|||||||
* nscd/hstcache.c: Likewise.
|
* nscd/hstcache.c: Likewise.
|
||||||
* nscd/initgrcache.c: Likewise.
|
* nscd/initgrcache.c: Likewise.
|
||||||
* nscd/pwdcache.c: Likewise.
|
* nscd/pwdcache.c: Likewise.
|
||||||
* nscd/servicecache.c: Likewise.
|
* nscd/servicescache.c: Likewise.
|
||||||
|
|
||||||
2008-05-10 Roland McGrath <roland@redhat.com>
|
2008-05-10 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
@@ -990,6 +990,9 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
|
|||||||
char *h_name = NULL;
|
char *h_name = NULL;
|
||||||
int h_namelen = 0;
|
int h_namelen = 0;
|
||||||
|
|
||||||
|
if (ancount == 0)
|
||||||
|
return NSS_STATUS_NOTFOUND;
|
||||||
|
|
||||||
while (ancount-- > 0 && cp < end_of_message && had_error == 0)
|
while (ancount-- > 0 && cp < end_of_message && had_error == 0)
|
||||||
{
|
{
|
||||||
n = __ns_name_unpack (answer->buf, end_of_message, cp,
|
n = __ns_name_unpack (answer->buf, end_of_message, cp,
|
||||||
@@ -1164,12 +1167,15 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
|
|||||||
{
|
{
|
||||||
int first = 1;
|
int first = 1;
|
||||||
|
|
||||||
enum nss_status status = gaih_getanswer_slice(answer1, anslen1, qname,
|
enum nss_status status = NSS_STATUS_NOTFOUND;
|
||||||
&pat, &buffer, &buflen,
|
|
||||||
errnop, h_errnop, ttlp,
|
if (anslen1 > 0)
|
||||||
&first);
|
status = gaih_getanswer_slice(answer1, anslen1, qname,
|
||||||
|
&pat, &buffer, &buflen,
|
||||||
|
errnop, h_errnop, ttlp,
|
||||||
|
&first);
|
||||||
if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND)
|
if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND)
|
||||||
&& answer2 != NULL)
|
&& answer2 != NULL && anslen2 > 0)
|
||||||
status = gaih_getanswer_slice(answer2, anslen2, qname,
|
status = gaih_getanswer_slice(answer2, anslen2, qname,
|
||||||
&pat, &buffer, &buflen,
|
&pat, &buffer, &buflen,
|
||||||
errnop, h_errnop, ttlp, &first);
|
errnop, h_errnop, ttlp, &first);
|
||||||
|
Reference in New Issue
Block a user