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.
issue