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;