]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
SAT>IP client: fix the memory leak (temporary TCP sbuf)
authorJaroslav Kysela <perex@perex.cz>
Wed, 18 Nov 2015 09:30:28 +0000 (10:30 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 18 Nov 2015 09:30:43 +0000 (10:30 +0100)
src/input/mpegts/satip/satip_frontend.c

index 44dc0a65bb4df6aa8495f060c524dd6c5f4c9100..6b64d700705ae7dcfb48a959b6fadbdadd763806 100644 (file)
@@ -882,7 +882,8 @@ done:
 }
 
 static void
-satip_frontend_shutdown ( http_client_t *rtsp, tvhpoll_t *efd )
+satip_frontend_shutdown
+  ( satip_frontend_t *lfe, http_client_t *rtsp, tvhpoll_t *efd )
 {
   char b[32];
   tvhpoll_event_t ev;
@@ -912,6 +913,7 @@ satip_frontend_shutdown ( http_client_t *rtsp, tvhpoll_t *efd )
         break;
     }
   }
+  sbuf_free(&lfe->sf_sbuf);
 }
 
 static void
@@ -944,7 +946,7 @@ satip_frontend_close_rtsp
   ev.data.ptr = NULL;
   tvhpoll_rem(efd, &ev, 1);
 
-  satip_frontend_shutdown(*rtsp, efd);
+  satip_frontend_shutdown(lfe, *rtsp, efd);
 
   memset(&ev, 0, sizeof(ev));
   ev.events   = TVHPOLL_IN;
@@ -1602,7 +1604,7 @@ wrdata:
   tvhpoll_rem(efd, ev, nfds);
 
   if (exit_flag) {
-    satip_frontend_shutdown(rtsp, efd);
+    satip_frontend_shutdown(lfe, rtsp, efd);
     http_client_close(rtsp);
     rtsp = NULL;
   }