if (r < 0)
return r;
- if (params->flags & CRYPT_VERITY_NO_HEADER)
+ if (params && params->flags & CRYPT_VERITY_NO_HEADER)
return -EINVAL;
if (params)
return -ENOMEM;
cd->verity_hdr.flags = params->flags;
- cd->verity_hdr.hash_name = strdup(params->hash_name);
+ if (!(cd->verity_hdr.hash_name = strdup(params->hash_name)))
+ return -ENOMEM;
cd->verity_hdr.data_device = NULL;
cd->verity_hdr.data_block_size = params->data_block_size;
cd->verity_hdr.hash_block_size = params->hash_block_size;
cd->verity_hdr.hash_type = params->hash_type;
cd->verity_hdr.flags = params->flags;
cd->verity_hdr.salt_size = params->salt_size;
- cd->verity_hdr.salt = malloc(params->salt_size);
+ if (!(cd->verity_hdr.salt = malloc(params->salt_size)))
+ return -ENOMEM;
+
if (params->salt)
memcpy(CONST_CAST(char*)cd->verity_hdr.salt, params->salt,
params->salt_size);
log_dbg("Suspending volume %s.", name);
- if (!isLUKS(cd->type)) {
+ if (!cd || !isLUKS(cd->type)) {
log_err(cd, _("This operation is supported only for LUKS device.\n"));
r = -EINVAL;
goto out;
return -EINVAL;
}
- if (!cd)
- dm_backend_init();
+ dm_backend_init();
r = dm_status_suspended(cd, name);
if (r < 0)
else if (r)
log_err(cd, "Error during suspending device %s.\n", name);
out:
- if (!cd)
- dm_backend_exit();
+ dm_backend_exit();
return r;
}