hs: Fix issues found by coverity
They've been mostly already fixed except on in the branch attached to this ticket.
However, that one is a mystery to me, in test_hs_descriptor.c
:
206 char *addr1 = tor_addr_to_str_dup(&ls1->u.ap.addr),
207 *addr2 = tor_addr_to_str_dup(&ls2->u.ap.addr);
>>> CID 1375997: Resource leaks (RESOURCE_LEAK)
>>> Variable "addr1" going out of scope leaks the storage it points to.
208 tt_str_op(addr1, OP_EQ, addr2);
209 tor_free(addr1);
210 tor_free(addr2);
(Same goes for addr2)
Is this about the fact that if tt_str_op()
is triggered, we go to the done:
label and then it leaks? I would be surprised as we often do that in test that is we assert and then we free.