yann@1
|
1 |
2002-07-05 Tomohiro Kato <tomop@teamgedoh.net>
|
yann@1
|
2 |
|
yann@1
|
3 |
* glibc-compat/nss_dns/dns-network.c (getanswer_r): Reduce
|
yann@1
|
4 |
linebuflen in parallel to bumping up the buffer pointer.
|
yann@1
|
5 |
* glibc-compat/nss_dns/dns-host.c (getanswer_r): Likewise.
|
yann@1
|
6 |
Compare n with linebuflen instead of buflen.
|
yann@1
|
7 |
|
yann@1
|
8 |
2002-07-02 Andreas Schwab <schwab@suse.de>
|
yann@1
|
9 |
|
yann@1
|
10 |
* resolv/nss_dns/dns-network.c (getanswer_r): Reduce linebuflen
|
yann@1
|
11 |
in parallel to bumping up the buffer pointer.
|
yann@1
|
12 |
|
yann@1
|
13 |
--- libc/glibc-compat/nss_dns/dns-network.c.jj Wed Jan 10 11:58:20 2001
|
yann@1
|
14 |
+++ libc/glibc-compat/nss_dns/dns-network.c Tue Jul 9 10:31:15 2002
|
yann@1
|
15 |
@@ -283,7 +283,9 @@ getanswer_r (const querybuf *answer, int
|
yann@1
|
16 |
}
|
yann@1
|
17 |
cp += n;
|
yann@1
|
18 |
*alias_pointer++ = bp;
|
yann@1
|
19 |
- bp += strlen (bp) + 1;
|
yann@1
|
20 |
+ n = strlen (bp) + 1;
|
yann@1
|
21 |
+ bp += n;
|
yann@1
|
22 |
+ linebuflen -= n;
|
yann@1
|
23 |
result->n_addrtype = class == C_IN ? AF_INET : AF_UNSPEC;
|
yann@1
|
24 |
++have_answer;
|
yann@1
|
25 |
}
|
yann@1
|
26 |
--- libc/glibc-compat/nss_dns/dns-host.c.jj Wed Jan 10 11:58:20 2001
|
yann@1
|
27 |
+++ libc/glibc-compat/nss_dns/dns-host.c Tue Jul 9 10:36:41 2002
|
yann@1
|
28 |
@@ -424,7 +424,7 @@ getanswer_r (const querybuf *answer, int
|
yann@1
|
29 |
linebuflen -= n;
|
yann@1
|
30 |
/* Get canonical name. */
|
yann@1
|
31 |
n = strlen (tbuf) + 1; /* For the \0. */
|
yann@1
|
32 |
- if ((size_t) n > buflen || n >= MAXHOSTNAMELEN)
|
yann@1
|
33 |
+ if ((size_t) n > linebuflen || n >= MAXHOSTNAMELEN)
|
yann@1
|
34 |
{
|
yann@1
|
35 |
++had_error;
|
yann@1
|
36 |
continue;
|
yann@1
|
37 |
@@ -447,7 +447,7 @@ getanswer_r (const querybuf *answer, int
|
yann@1
|
38 |
cp += n;
|
yann@1
|
39 |
/* Get canonical name. */
|
yann@1
|
40 |
n = strlen (tbuf) + 1; /* For the \0. */
|
yann@1
|
41 |
- if ((size_t) n > buflen || n >= MAXHOSTNAMELEN)
|
yann@1
|
42 |
+ if ((size_t) n > linebuflen || n >= MAXHOSTNAMELEN)
|
yann@1
|
43 |
{
|
yann@1
|
44 |
++had_error;
|
yann@1
|
45 |
continue;
|
yann@1
|
46 |
@@ -542,6 +542,7 @@ getanswer_r (const querybuf *answer, int
|
yann@1
|
47 |
linebuflen -= nn;
|
yann@1
|
48 |
}
|
yann@1
|
49 |
|
yann@1
|
50 |
+ linebuflen -= sizeof (align) - ((u_long) bp % sizeof (align));
|
yann@1
|
51 |
bp += sizeof (align) - ((u_long) bp % sizeof (align));
|
yann@1
|
52 |
|
yann@1
|
53 |
if (n >= linebuflen)
|
yann@1
|
54 |
#--- libc/resolv/nss_dns/dns-network.c.jj Mon Jul 9 14:59:24 2001
|
yann@1
|
55 |
#+++ libc/resolv/nss_dns/dns-network.c Tue Jul 9 10:30:31 2002
|
yann@1
|
56 |
#@@ -328,7 +328,9 @@ getanswer_r (const querybuf *answer, int
|
yann@1
|
57 |
# }
|
yann@1
|
58 |
# cp += n;
|
yann@1
|
59 |
# *alias_pointer++ = bp;
|
yann@1
|
60 |
#- bp += strlen (bp) + 1;
|
yann@1
|
61 |
#+ n = strlen (bp) + 1;
|
yann@1
|
62 |
#+ bp += n;
|
yann@1
|
63 |
#+ linebuflen -= n;
|
yann@1
|
64 |
# result->n_addrtype = class == C_IN ? AF_INET : AF_UNSPEC;
|
yann@1
|
65 |
# ++have_answer;
|
yann@1
|
66 |
# }
|