swtpm: Replace malloc + strcpy with strdup and handle OOM case
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
diff --git a/src/swtpm/swtpm_nvstore_linear.c b/src/swtpm/swtpm_nvstore_linear.c
index eda7793..6e4ad6f 100644
--- a/src/swtpm/swtpm_nvstore_linear.c
+++ b/src/swtpm/swtpm_nvstore_linear.c
@@ -241,8 +241,12 @@
return TPM_FAIL;
}
- state.loaded_uri = malloc(strlen(uri) + 1);
- strcpy(state.loaded_uri, uri);
+ state.loaded_uri = strdup(uri);
+ if (!state.loaded_uri) {
+ logprintf(STDERR_FILENO,
+ "SWTPM_NVRAM_PrepareLinear: Out of memory\n");
+ return TPM_FAIL;
+ }
/* TODO: Parse URI prefixes ("iscsi://", "rbd://", etc...) */
state.ops = &nvram_linear_file_ops;