diff options
Diffstat (limited to 'trust/session.c')
-rw-r--r-- | trust/session.c | 10 |
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; |