sim: More talloc return NULL checking
diff --git a/src/sim/core.c b/src/sim/core.c
index dba378b..890df66 100644
--- a/src/sim/core.c
+++ b/src/sim/core.c
@@ -37,6 +37,8 @@
 		return NULL;
 
 	dd = talloc_zero(file, struct osim_decoded_data);
+	if (!dd)
+		return NULL;
 	dd->file = file;
 
 	if (file->desc->ops.parse(dd, file->desc, len, data) < 0) {
@@ -121,6 +123,8 @@
 	struct osim_file_desc *mf;
 
 	mf = talloc_zero(ctx, struct osim_file_desc);
+	if (!mf)
+		return NULL;
 	mf->type = TYPE_DF;
 	mf->fid = fid;
 	mf->short_name = name;
@@ -137,6 +141,8 @@
 	struct osim_file_desc *df;
 
 	df = alloc_df(parent, fid, name);
+	if (!df)
+		return NULL;
 	df->parent = parent;
 	llist_add_tail(&df->list, &parent->child_list);
 	add_filedesc(df, in, num);
@@ -153,6 +159,8 @@
 	struct osim_file_desc *df;
 
 	df = alloc_df(parent, 0xffff, name);
+	if (!df)
+		return NULL;
 	df->type = TYPE_ADF;
 	df->df_name = adf_name;
 	df->df_name_len = adf_name_len;