summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Meerwald-Stadler <pmeerw@pmeerw.net>2017-02-28 08:01:20 +0100
committerPeter Meerwald-Stadler <pmeerw@pmeerw.net>2017-03-07 09:47:46 +0100
commit233cb4516a6d78cd65beef80ec6b46cd1f6c1aed (patch)
tree901c774da78ae9ba8b5a158c661dbcc0095559e4
parent6c35ac7c8f3fecdcc70e6bb44cefd12d93e0fb63 (diff)
raop: Fix potential resource leaks
Coverity ID: #1410204, #1410203, #1410202, #1410201, #1410200, #1410199 Signed-off-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
-rw-r--r--src/modules/raop/module-raop-discover.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/modules/raop/module-raop-discover.c b/src/modules/raop/module-raop-discover.c
index dc55b9c8..9c7ac3cd 100644
--- a/src/modules/raop/module-raop-discover.c
+++ b/src/modules/raop/module-raop-discover.c
@@ -177,6 +177,7 @@ static void resolver_cb(
* - TCP = only TCP,
* - UDP = only UDP,
* - TCP,UDP = both supported (UDP should be prefered) */
+ pa_xfree(tp);
if (pa_str_in_list(value, ",", "UDP"))
tp = pa_xstrdup("UDP");
else if (pa_str_in_list(value, ",", "TCP"))
@@ -190,16 +191,18 @@ static void resolver_cb(
* - 2 = FairPlay,
* - 3 = MFiSAP,
* - 4 = FairPlay SAPv2.5. */
- if (pa_str_in_list(value, ",", "1"))
- et = pa_xstrdup("RSA");
- else
- et = pa_xstrdup("none");
+ pa_xfree(et);
+ if (pa_str_in_list(value, ",", "1"))
+ et = pa_xstrdup("RSA");
+ else
+ et = pa_xstrdup("none");
} else if (pa_streq(key, "cn")) {
/* Suported audio codecs:
* - 0 = PCM,
* - 1 = ALAC,
* - 2 = AAC,
* - 3 = AAC ELD. */
+ pa_xfree(cn);
if (pa_str_in_list(value, ",", "1"))
cn = pa_xstrdup("ALAC");
else
@@ -213,12 +216,15 @@ static void resolver_cb(
/* Requires password ? (true/false) */
} else if (pa_streq(key, "ch")) {
/* Number of channels */
+ pa_xfree(ch);
ch = pa_xstrdup(value);
} else if (pa_streq(key, "ss")) {
/* Sample size */
+ pa_xfree(ss);
ss = pa_xstrdup(value);
} else if (pa_streq(key, "sr")) {
/* Sample rate */
+ pa_xfree(sr);
sr = pa_xstrdup(value);
}