From: cinap_lenrek@gmx.de
To: 9fans@9fans.net
Subject: Re: [9fans] dns
Date: Wed, 22 Aug 2012 12:32:42 +0200 [thread overview]
Message-ID: <77e5af21864417917c398575fb84095d@rei2.9hal> (raw)
In-Reply-To: <7923a269495e9abf153363f63d452d3c@ladd.quanstro.net>
wait, Maxdest is a count, see:
dest = emalloc(Maxdest * sizeof *dest); /* dest can't be on stack */
code like:
Dest *curdest; /* pointer to next to fill */
p = dp->dest;
...
if (qp->ndest > qp->curdest - p) {
and
for(p = qp->dest; p < qp->curdest; p++)
indicates that dp->curdest is an end pointer. so it should be perfectly valid
for it to point at &dp->dest[Maxdest].
the check at the top of serveraddrs() should really be:
if(nd >= Maxdest) /* dest array is full? */
return Maxdest;
serveraddr() really returns a count. which is the same as an
end pointer index.
the result check of that serveraddr() call should really be:
if (j < 0 || j > Maxdest) {
dnslog("serveraddrs() result %d out of range", j);
abort();
}
qp->curdest = &qp->dest[j];
and the destck(dp->curdest); should be removed.
--- a/sys/src/cmd/ndb/dnresolve.c Wed Aug 22 00:11:42 2012 +0200
+++ b/sys/src/cmd/ndb/dnresolve.c Wed Aug 22 12:28:34 2012 +0200
@@ -832,7 +832,7 @@
Dest *cur;
if(nd >= Maxdest) /* dest array is full? */
- return Maxdest - 1;
+ return Maxdest;
/*
* look for a server whose address we already know.
@@ -1080,13 +1080,12 @@
*/
if (qp->ndest > qp->curdest - p) {
j = serveraddrs(qp, qp->curdest - p, depth);
- if (j < 0 || j >= Maxdest) {
+ if (j < 0 || j > Maxdest) {
dnslog("serveraddrs() result %d out of range", j);
abort();
}
qp->curdest = &qp->dest[j];
}
- destck(qp->curdest);
/* no servers, punt */
if (qp->ndest == 0)
--
cinap
next prev parent reply other threads:[~2012-08-22 10:32 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-21 1:51 Jeff Sickel
2012-08-21 1:59 ` erik quanstrom
2012-08-21 4:23 ` arisawa
2012-08-21 5:08 ` Jeff Sickel
2012-08-21 8:42 ` Kenji Arisawa
2012-08-21 11:27 ` cinap_lenrek
2012-08-21 12:18 ` Lucio De Re
2012-08-21 12:37 ` arisawa
2012-08-21 18:32 ` erik quanstrom
2012-08-21 20:05 ` Charles Forsyth
[not found] ` <CAOw7k5hALBex13jJUbscVt4th-Z9urpmAP0eOBi7b1HuBQESrw@mail.gmail.c>
2012-08-21 20:41 ` erik quanstrom
2012-08-21 22:44 ` cinap_lenrek
2012-08-22 10:32 ` cinap_lenrek [this message]
2012-08-22 12:09 ` Kenji Arisawa
2012-08-22 12:35 ` cinap_lenrek
2012-08-22 13:05 ` erik quanstrom
2012-08-22 13:08 ` erik quanstrom
2012-08-22 13:11 ` Charles Forsyth
[not found] ` <CAOw7k5gGhL-=E=V1C9ffQP7qMyUVMhtrgpzLMidnCsHFGDzHwA@mail.gmail.c>
2012-08-22 13:18 ` erik quanstrom
2012-08-22 13:21 ` Charles Forsyth
2012-08-22 13:31 ` cinap_lenrek
2012-08-22 14:22 ` erik quanstrom
2012-08-22 14:41 ` Charles Forsyth
2012-08-22 14:47 ` cinap_lenrek
2012-08-22 15:26 ` erik quanstrom
2012-08-22 15:33 ` erik quanstrom
2012-08-22 15:35 ` erik quanstrom
[not found] ` <CAOw7k5jOE0Bf13fXJ04dUF4vGniRTJ1LwEMV1Oqw=AFKg77boA@mail.gmail.com>
2012-08-22 16:05 ` Charles Forsyth
2012-08-22 13:23 ` Lucio De Re
2012-08-25 0:10 ` Kenji Arisawa
2012-08-25 10:54 ` cinap_lenrek
2012-08-25 12:37 ` Kenji Arisawa
2012-08-25 13:22 ` cinap_lenrek
2012-08-25 13:38 ` cinap_lenrek
2012-08-25 13:41 ` Charles Forsyth
2012-08-25 13:44 ` cinap_lenrek
2012-08-27 22:44 ` arisawa
2012-08-28 1:45 ` cinap_lenrek
2012-08-28 1:57 ` erik quanstrom
2012-08-28 2:08 ` cinap_lenrek
2012-08-28 4:03 ` erik quanstrom
2012-09-08 17:37 ` Skip Tavakkolian
2012-09-08 18:02 ` cinap_lenrek
2012-09-08 18:18 ` cinap_lenrek
2012-09-08 21:53 ` Skip Tavakkolian
2012-09-08 22:27 ` cinap_lenrek
2012-09-09 2:09 ` Charles Forsyth
2012-09-09 2:37 ` cinap_lenrek
2012-09-09 3:01 ` Charles Forsyth
[not found] ` <CAOw7k5jydN7wssxBEqTc6h9FtLErjkoyxyfuQZLgcBTZ-nRgiw@mail.gmail.c>
2012-09-09 4:26 ` erik quanstrom
2012-09-09 5:28 ` Skip Tavakkolian
2012-08-25 21:56 ` cinap_lenrek
2012-08-26 13:16 ` cinap_lenrek
2012-08-26 13:36 ` Charles Forsyth
2012-08-21 5:08 ` Benjamin Huntsman
-- strict thread matches above, loose matches on Subject: below --
2017-04-01 1:28 [9fans] DNS cinap_lenrek
2017-04-01 3:40 ` Skip Tavakkolian
2017-04-01 9:46 ` Alexandru Gheorghe
2017-04-01 17:04 ` Steve Simon
2017-04-03 7:06 ` David Arroyo
2017-03-20 7:26 Skip Tavakkolian
2017-03-21 19:19 ` Skip Tavakkolian
2017-03-30 22:19 ` Steve Simon
2017-03-31 7:43 ` Peter Hull
2012-08-26 14:48 [9fans] dns cinap_lenrek
2007-08-15 19:26 erik quanstrom
2007-07-03 20:54 erik quanstrom
2007-07-04 20:51 ` geoff
2007-07-04 21:18 ` erik quanstrom
2007-07-04 21:52 ` geoff
2004-03-20 2:25 David Presotto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=77e5af21864417917c398575fb84095d@rei2.9hal \
--to=cinap_lenrek@gmx.de \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).