From: Flole998 Date: Thu, 18 Feb 2021 14:02:09 +0000 (+0100) Subject: Fix several issues discovered by coverity X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5d4d7dea487770dd8b7e4722f0c7fcc7d5315eb;p=thirdparty%2Ftvheadend.git Fix several issues discovered by coverity --- diff --git a/src/api/api_epg.c b/src/api/api_epg.c index 199e7c37a..27bbc1d0c 100644 --- a/src/api/api_epg.c +++ b/src/api/api_epg.c @@ -440,6 +440,7 @@ api_epg_grid HTSMSG_FOREACH(f3, z) if (!htsmsg_field_get_s64(f3, &v)) eq.genre[eq.genre_count++] = v; + htsmsg_destroy(z); } } else { if (!htsmsg_field_get_s64(f2, &v)) { diff --git a/src/config.c b/src/config.c index 2293d278b..6c7bf6511 100644 --- a/src/config.c +++ b/src/config.c @@ -645,6 +645,7 @@ config_migrate_v6 ( void ) } } } + htsmsg_destroy(chs); } if (xchs) { HTSMSG_FOREACH(f, xchs) { @@ -652,6 +653,7 @@ config_migrate_v6 ( void ) hts_settings_save(xc, "epggrab/xmltv/channels/%s", htsmsg_field_name(f)); } } + htsmsg_destroy(xchs); } } htsmsg_destroy(c); diff --git a/src/descrambler/capmt.c b/src/descrambler/capmt.c index 3dd392dca..719f600da 100644 --- a/src/descrambler/capmt.c +++ b/src/descrambler/capmt.c @@ -1838,6 +1838,7 @@ capmt_create_udp_socket(capmt_t *capmt, int *socket, int port) } struct sockaddr_in serv_addr; + memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); serv_addr.sin_port = htons( (unsigned short int)port); serv_addr.sin_family = AF_INET; diff --git a/src/http.c b/src/http.c index daabbccf0..06d5e7617 100644 --- a/src/http.c +++ b/src/http.c @@ -269,7 +269,10 @@ http_get_nonce(http_connection_t *hc) xor ^= 0xf6e398624aa55013LL; snprintf(stamp, sizeof(stamp), "A!*Fz32%"PRId64"%"PRId64, mono, xor); m = sha256sum_base64(stamp); - if (m == NULL) return -1; + if (m == NULL) { + free(n); + return -1; + } strlcpy(n->nonce, m, sizeof(n->nonce)); tvh_mutex_lock(&global_lock); if (RB_INSERT_SORTED(&http_nonces, n, link, http_nonce_cmp)) { @@ -1104,6 +1107,7 @@ end: free(response); free(qop); free(uri); + free(algo1); free(realm); free(nonce_count); free(cnonce); diff --git a/src/input/mpegts/scanfile.c b/src/input/mpegts/scanfile.c index 39a793dbb..c0f005625 100644 --- a/src/input/mpegts/scanfile.c +++ b/src/input/mpegts/scanfile.c @@ -331,7 +331,7 @@ scanfile_create_network { scanfile_region_t *reg = NULL; scanfile_network_t *net; - char buf[256], buf2[263], buf3[270], *str; + char buf[270], buf2[263], buf3[270], *str; int opos; /* Region */ diff --git a/src/muxer/muxer_mkv.c b/src/muxer/muxer_mkv.c index 73ff9b0d5..1c24eae5e 100644 --- a/src/muxer/muxer_mkv.c +++ b/src/muxer/muxer_mkv.c @@ -816,8 +816,10 @@ _mk_build_metadata(const dvr_entry_t *de, const epg_broadcast_t *ebc, if (comment) { lang = "eng"; - if ((langs = lang_code_split(NULL)) != NULL) + if ((langs = lang_code_split(NULL)) != NULL) { lang = tvh_strdupa(langs->codes[0]->code2b); + free((void*)langs); + } addtag(q, build_tag_string("COMMENT", comment, lang, 0, NULL)); } diff --git a/src/satip/rtsp.c b/src/satip/rtsp.c index ca3ca5252..8db2d9e9b 100644 --- a/src/satip/rtsp.c +++ b/src/satip/rtsp.c @@ -673,6 +673,7 @@ rtsp_start } if (rs->mux == mux && rs->subs) { if (rs->no_data) { + dvb_mux_conf_str(&rs->dmc, buf, sizeof(buf)); tvhwarn(LS_SATIPS, "%i/%s/%i: subscription fails because mux %s can't tune", rs->frontend, rs->session, rs->stream, buf); goto endclean;