]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
parsers: fix memory leak for packets when backlog is not enabled
authorJaroslav Kysela <perex@perex.cz>
Fri, 17 Jun 2016 20:46:18 +0000 (22:46 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 17 Jun 2016 20:46:18 +0000 (22:46 +0200)
src/parsers/parsers.c

index 316451b73cf1da30069b02cfc6b8f62563656075..793ffcb6e46302490a47c9c69670f77c6883dcd1 100644 (file)
@@ -1274,8 +1274,11 @@ parse_mpeg2video(service_t *t, elementary_stream_t *st, size_t len,
         if (!TAILQ_EMPTY(&st->es_backlog))
           parser_do_backlog(t, st, NULL, pkt->pkt_meta);
         parser_deliver(t, st, pkt);
-      } else if (config.parser_backlog)
+      } else if (config.parser_backlog) {
         parser_backlog(t, st, pkt);
+      } else {
+        pkt_ref_dec(pkt);
+      }
       st->es_curpkt = NULL;
 
       return PARSER_RESET;
@@ -1366,6 +1369,8 @@ deliver:
   }
   if (config.parser_backlog)
     parser_backlog(t, st, pkt);
+  else
+    pkt_ref_dec(pkt);
 }
 
 static int