On Wed Aug 22 09:12:24 EDT 2012, charles.fors...@gmail.com wrote:

>  for(n = 0; n < Maxdest; n++, qp->curdest++)
> if (setdestoutns(qp->curdest, n) < 0)
> 
> 
> On 22 August 2012 09:05, erik quanstrom <quans...@quanstro.net> wrote:
> 
> > since qb->curdest is indirected, for example by setdestoutns, this must be
> > a valid pointer to remain safe.
> >
> 
> only when the pointer is valid. I think cinap is right.

i don't think so.  destck will still indirect it:

        if (qp->ndest > qp->curdest - p) {
[...]
                qp->curdest = &qp->dest[j];
                destsum(qp, j);
        }
>>      destck(qp->curdest);

the definition if destck:

static void
destck(Dest *p)
{
        assert(p);
        assert(p->magic == Destmagic);
}

you can argue that this is a mistake, but i'm sure there are others.
so imho, this is not worth fixing.  dns needs replacing.

- erik

Reply via email to