]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix several issues discovered by coverity
authorFlole998 <flole@flole.de>
Thu, 18 Feb 2021 14:02:09 +0000 (15:02 +0100)
committerFlole998 <Flole998@users.noreply.github.com>
Thu, 18 Feb 2021 14:03:37 +0000 (15:03 +0100)
src/api/api_epg.c
src/config.c
src/descrambler/capmt.c
src/http.c
src/input/mpegts/scanfile.c
src/muxer/muxer_mkv.c
src/satip/rtsp.c

index 199e7c37a16b12ebe23cc4bc97e35b409db23235..27bbc1d0c0a1ea83165e88ad1b028fcec1ca6c7d 100644 (file)
@@ -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)) {
index 2293d278be4b980f7f8f3db8dbb8139ce0224529..6c7bf6511e170b069ed3d5d49a8360fbe39da408 100644 (file)
@@ -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);
index 3dd392dcabdc60f40cea1c9f3f6e55dc3fe1d508..719f600daeac1ee09ed53076021b623b9fab6cd0 100644 (file)
@@ -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;
index daabbccf0a2bab876f62b5c83adf450b3ca72f81..06d5e7617212259091ea9c9aec1249c2b7058158 100644 (file)
@@ -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);
index 39a793dbb94f888f3e43e805c7237afe6693664c..c0f005625b7095d7b33bf51697237704ce4be204 100644 (file)
@@ -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 */
index 73ff9b0d540772498fb7fa1d1976477b2908847c..1c24eae5ef579b635ed9013ef37b43d1450b34f2 100644 (file)
@@ -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));
   }
index ca3ca525233ead1e8194f6389aa63b9d4c143d5f..8db2d9e9b13fe8da42278720f443992106213fee 100644 (file)
@@ -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;