diff -ur a/src/tspi/obj_context.c b/src/tspi/obj_context.c
--- a/src/tspi/obj_context.c 2014-11-03 12:31:55.000000000 -0700
+++ b/src/tspi/obj_context.c 2018-08-10 11:02:02.246962638 -0700
@@ -276,6 +276,7 @@
context->machineName = (BYTE *)calloc(1, len);
if (context->machineName == NULL) {
LogError("malloc of %u bytes failed.", len);
+ obj_list_put(&context_list);
return TSPERR(TSS_E_OUTOFMEMORY);
}
memcpy(context->machineName, name, len);