if (isolated) {
if (remote) {
p11_message ("ignoring 'isolated' on module '%s' because 'remote' is set", *name);
- isolated = false;
} else {
if (asprintf (&value, "|" BINDIR "/p11-kit remote '%s'", filename) < 0)
return_val_if_reached (CKR_DEVICE_ERROR);
switch (read (in_fd, &version, 1)) {
case 0:
- status = P11_RPC_EOF;
- break;
+ goto out;
case 1:
if (version != 0) {
p11_message ("unspported version received: %d", (int)version);
{
uint32_t i, num, value, type;
CK_ATTRIBUTE_PTR attr;
- const unsigned char *attrval;
- size_t attrlen;
+ const unsigned char *attrval = NULL;
+ size_t attrlen = 0;
unsigned char validity;
CK_RV ret;
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;