dvbsrc: avoid out-bound write on PID filter array
authorReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Wed, 1 Jun 2016 20:18:21 +0000 (13:18 -0700)
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Wed, 1 Jun 2016 20:23:53 +0000 (13:23 -0700)
There's no need for an end-of-list marker in the filter
PIDs array if full, as the absolute maximum number of
elements (MAX_FILTERS) is known.

CID #1362441

sys/dvb/gstdvbsrc.c

index bb688af..2adfb6e 100644 (file)
@@ -1122,7 +1122,9 @@ gst_dvbsrc_set_pids (GstDvbSrc * dvbsrc, const gchar * pid_string)
       pids++;
     }
 
-    dvbsrc->pids[pid_count] = G_MAXUINT16;
+    if (pid_count < MAX_FILTERS)
+      dvbsrc->pids[pid_count] = G_MAXUINT16;
+
     g_strfreev (tmp);
   }
   /* if we are in playing or paused, then set filters now */