summaryrefslogtreecommitdiff
path: root/trust/session.c
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-10-16 18:10:05 +0200
committerDaiki Ueno <ueno@gnu.org>2018-10-17 10:13:32 +0200
commitb10dadce5a3c921149b2c9fe0dec614f8076ebda (patch)
tree1be6432a3cd602032c4c036bcfac4fea1b1f7158 /trust/session.c
parentc76197ddbbd0c29adc2bceff2ee9f740f71d134d (diff)
build: Free memory before return{,_val}_if_* macros
Diffstat (limited to 'trust/session.c')
-rw-r--r--trust/session.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/trust/session.c b/trust/session.c
index b93a5c3..d464394 100644
--- a/trust/session.c
+++ b/trust/session.c
@@ -59,12 +59,18 @@ p11_session_new (p11_token *token)
session->handle = p11_module_next_id ();
session->builder = p11_builder_new (P11_BUILDER_FLAG_NONE);
- return_val_if_fail (session->builder, NULL);
+ if (session->builder == NULL) {
+ p11_session_free (session);
+ return_val_if_reached (NULL);
+ }
session->index = p11_index_new (p11_builder_build, NULL, NULL,
p11_builder_changed,
session->builder);
- return_val_if_fail (session->index != NULL, NULL);
+ if (session->index == NULL) {
+ p11_session_free (session);
+ return_val_if_reached (NULL);
+ }
session->token = token;