Blob Blame History Raw
From c6e7fd8b1e0d8729c7220734ca0b529c35d926ed Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 27 May 2019 14:05:12 +0200
Subject: [PATCH 23/25] topology: next round of coverity fixes

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
 src/topology/data.c   | 5 ++---
 src/topology/parser.c | 7 +++++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/topology/data.c b/src/topology/data.c
index aa2b87e73f50..b3f4421f5d5c 100644
--- a/src/topology/data.c
+++ b/src/topology/data.c
@@ -88,8 +88,7 @@ static int tplg_parse_data_file(snd_config_t *cfg, struct tplg_elem *elem)
 	if (fp == NULL) {
 		SNDERR("error: invalid data file path '%s'\n",
 			filename);
-		ret = -errno;
-		goto err;
+		return -errno;
 	}
 
 	fseek(fp, 0L, SEEK_END);
@@ -463,6 +462,7 @@ static int copy_tuples(struct tplg_elem *elem,
 
 		off = priv->size;
 		priv->size = size; /* update private data size */
+		elem->data = priv;
 
 		array = (struct snd_soc_tplg_vendor_array *)(priv->data + off);
 		array->size = set_size;
@@ -499,7 +499,6 @@ static int copy_tuples(struct tplg_elem *elem,
 		}
 	}
 
-	elem->data = priv;
 	return 0;
 }
 
diff --git a/src/topology/parser.c b/src/topology/parser.c
index a7cff1c30edc..5940692da2e2 100644
--- a/src/topology/parser.c
+++ b/src/topology/parser.c
@@ -253,8 +253,10 @@ static int tplg_load_config(const char *file, snd_config_t **cfg)
 	}
 
 	ret = snd_input_close(in);
-	if (ret < 0)
+	if (ret < 0) {
+		in = NULL;
 		goto err_load;
+	}
 
 	*cfg = top;
 	return 0;
@@ -262,7 +264,8 @@ static int tplg_load_config(const char *file, snd_config_t **cfg)
 err_load:
 	snd_config_delete(top);
 err:
-	snd_input_close(in);
+	if (in)
+		snd_input_close(in);
 	return ret;
 }
 
-- 
2.16.4