X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_pg.c;h=f1cd0092feb3669438a9b6726dedd2ac744ee2e2;hb=34b03028378025ad22c8d29f70e81109cee690c2;hp=35e5fae723cbd7d0cd976f38114678336212ee2b;hpb=0f9e9f98538575cf98f55699962d605caa9567f0;p=onak.git diff --git a/keydb_pg.c b/keydb_pg.c index 35e5fae..f1cd009 100644 --- a/keydb_pg.c +++ b/keydb_pg.c @@ -132,7 +132,8 @@ void endtrans(void) * in and then parse_keys() to parse the packets into a publickey * structure. */ -int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, bool intrans) +int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, + bool intrans) { struct openpgp_packet_list *packets = NULL; PGresult *result = NULL; @@ -174,6 +175,8 @@ int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, bool intrans &packets); parse_keys(packets, publickey); lo_close(dbconn, fd); + free_packet_list(packets); + packets = NULL; } } } else if (PQresultStatus(result) != PGRES_TUPLES_OK) { @@ -238,6 +241,8 @@ int fetch_key_text(const char *search, struct openpgp_publickey **publickey) &packets); parse_keys(packets, publickey); lo_close(dbconn, fd); + free_packet_list(packets); + packets = NULL; } } } else if (PQresultStatus(result) != PGRES_TUPLES_OK) { @@ -308,6 +313,8 @@ int store_key(struct openpgp_publickey *publickey, bool intrans, bool update) write_openpgp_stream(keydb_putchar, &fd, packets); lo_close(dbconn, fd); } + free_packet_list(packets); + packets = NULL; snprintf(statement, 1023, "INSERT INTO onak_keys (keyid, keydata) VALUES "