summaryrefslogtreecommitdiff
path: root/p11-kit/rpc-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'p11-kit/rpc-server.c')
-rw-r--r--p11-kit/rpc-server.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/p11-kit/rpc-server.c b/p11-kit/rpc-server.c
index a468e7a..b8288c9 100644
--- a/p11-kit/rpc-server.c
+++ b/p11-kit/rpc-server.c
@@ -681,16 +681,18 @@ rpc_C_Initialize (CK_X_FUNCTION_LIST *self,
assert (p11_rpc_message_is_verified (msg));
}
- memset (&init_args, 0, sizeof (init_args));
- init_args.flags = CKF_OS_LOCKING_OK;
+ if (ret == CKR_OK) {
+ memset (&init_args, 0, sizeof (init_args));
+ init_args.flags = CKF_OS_LOCKING_OK;
- func = self->C_Initialize;
- assert (func != NULL);
- ret = (func) (self, &init_args);
+ func = self->C_Initialize;
+ assert (func != NULL);
+ ret = (func) (self, &init_args);
- /* Empty response */
- if (ret == CKR_OK)
- ret = call_ready (msg);
+ /* Empty response */
+ if (ret == CKR_OK)
+ ret = call_ready (msg);
+ }
p11_debug ("ret: %d", (int)ret);
return ret;