free(node->key.id);
free(node->path);
+ mftm_cleanup(&node->mft);
rrdp_state_free(node->rrdp);
free(node);
}
X509_free(cer->x509);
resources_destroy(cer->resources);
exturis_cleanup(&cer->uris);
+ if (cer->tal)
+ tal_cleanup(cer->tal);
rpp_cleanup(&cer->rpp);
}
return tal;
}
-static void
+void
tal_cleanup(struct tal *tal)
{
if (atomic_fetch_sub(&tal->refcount, 1) == 1) {
free(tal->spki);
uris_cleanup(&tal->urls, uri_cleanup);
+ free(tal->path);
free(tal);
}
}
int perform_standalone_validation(void);
+void tal_cleanup(struct tal *);
+
#endif /* SRC_OBJECT_TAL_H_ */
spsk_cleanup();
wait_subprocess("rsync spawner", spawner);
+ pthread_join(srt, NULL);
}