From 48947064bf494265453f680fc8d80b23547997d8 Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Tue, 25 Oct 2016 22:07:08 +0200 Subject: [PATCH] fixed missing free() errors --- libpcp/mgmt.c | 1 + libpcp/vault.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libpcp/mgmt.c b/libpcp/mgmt.c index e787f2e..a2904b1 100644 --- a/libpcp/mgmt.c +++ b/libpcp/mgmt.c @@ -646,6 +646,7 @@ Buffer *pcp_export_rfc_pub (PCPCTX *ptx, pcp_key_t *sk) { free(hash); memset(sig, 0, crypto_sign_BYTES + crypto_generichash_BYTES_MAX); free(sig); + free(st); if(out->end < 32) fatal(ptx, "failed to export public key"); diff --git a/libpcp/vault.c b/libpcp/vault.c index d4f1fc2..0e0f76b 100644 --- a/libpcp/vault.c +++ b/libpcp/vault.c @@ -428,6 +428,7 @@ vault_item_header_t * ih2native(vault_item_header_t *h) { int pcpvault_fetchall(PCPCTX *ptx, vault_t *vault) { + Buffer *raw = NULL; size_t got = 0; fseek(vault->fd, 0, SEEK_SET); @@ -448,7 +449,7 @@ int pcpvault_fetchall(PCPCTX *ptx, vault_t *vault) { pcp_pubkey_t *pubkey; int bytesleft = 0; int ksize = PCP_RAW_KEYSIGSIZE; /* smallest possbile item */ - Buffer *raw = buffer_new(256, "rawin"); + raw = buffer_new(256, "rawin"); vault->version = header->version; memcpy(vault->checksum, header->checksum, LSHA); @@ -530,11 +531,13 @@ int pcpvault_fetchall(PCPCTX *ptx, vault_t *vault) { free(checksum); free(item); free(header); + buffer_free(raw); return 0; err: free(item); free(header); + buffer_free(raw); /* pcphash_clean(); */ return -1;