Fix child-address counting.
authorJeremy Harris <jgh146exb@wizmail.org>
Tue, 28 Feb 2017 18:24:40 +0000 (18:24 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 28 Feb 2017 18:59:22 +0000 (18:59 +0000)
commit82f90600647a5322e9e7b58fc127eb8be839165c
tree05be1b90f1905fd27a09a370f25fb7eb4d5fd09f
parentd5d82b8443e2604e7b0729ecbb3b2041ce176189
Fix child-address counting.

When a new address was created by a routing step it was possible for the parent address in the tree to
be marked as having zero children, despite the new child having a pointer to the parent.  When the child
was then delivered, the count on the parent could go negative or, if other children had been added which
correctly incremented the count, arrive at zero while some children were outstanding.  Fix this to
maintin the invariant.  While there, make the counter unsigned.
src/src/deliver.c
src/src/routers/iplookup.c
src/src/routers/queryprogram.c
src/src/routers/redirect.c
src/src/routers/rf_change_domain.c
src/src/structs.h