summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2021-09-02 22:06:52 +0900
committerTim-Philipp Müller <tim@centricular.com>2021-09-02 17:47:52 +0100
commit90606b9f701468b184aebb070965159f0400853c (patch)
tree2ddeb74a1abf93fea9c3c53e023b69de283041c7
parent689efff2a23b0075601d423d83ac7eeaf4ad0bf6 (diff)
downloadgstreamer-plugins-bad-90606b9f701468b184aebb070965159f0400853c.tar.gz
videoparseutils: Fix for wrong CEA708 minimum size check
The minimum possible size of valid CEA708 data is 3 bytes, not 7 bytes Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2507>
-rw-r--r--gst/videoparsers/gstvideoparseutils.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gst/videoparsers/gstvideoparseutils.c b/gst/videoparsers/gstvideoparseutils.c
index cec724ac2..4e94d21b5 100644
--- a/gst/videoparsers/gstvideoparseutils.c
+++ b/gst/videoparsers/gstvideoparseutils.c
@@ -142,7 +142,11 @@ gst_video_parse_user_data (GstElement * elt, GstVideoParseUserData * user_data,
}
switch (user_data_type_code) {
case A53_USER_DATA_TYPE_CODE_CC_DATA:
- if (gst_byte_reader_get_remaining (br) < 7) {
+ /* 1 (cc count byte) +
+ * 1 (reserved byte, 0xff) +
+ * 1 (marker_bits, 0xff)
+ */
+ if (gst_byte_reader_get_remaining (br) < 3) {
GST_WARNING_OBJECT (elt,
"Closed caption data packet too short, ignoring");
break;