In "outside_network.c", the function:  "outnet_serviced_query" has two
calls inside "if" statements:

"if (!serviced_udp_send(...)"
       and
"if (!serviced_tcp_send(...)"

in those error branches, I STRONGLY believe we need a:

"free(sq->zone);"

inserted after the "free(sq->qbuf);"

Otherwise, it LEAKS the "memdup()"'d sq->zone!

My tests show:
   Without those free()'s, it leaks.
   Put them in, all is good.

I haven't done the analysis on "how bad" this is.  It might be a minor thing.

-Rob
_______________________________________________
Unbound-users mailing list
[email protected]
http://unbound.nlnetlabs.nl/mailman/listinfo/unbound-users

Reply via email to