summaryrefslogtreecommitdiff
path: root/gst-libs/gst/mpegts
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2014-05-27 17:32:52 +0200
committerEdward Hervey <bilboed@bilboed.com>2014-05-27 17:34:48 +0200
commit1797802bd25aeb361e45a311b48f21ee9c057f2f (patch)
tree7a2a960e394f749396e60df9a0045137fa2533ad /gst-libs/gst/mpegts
parentf7b1b5fcd3e1f24a34aa5217724efca5c261756b (diff)
downloadgstreamer-plugins-bad-1797802bd25aeb361e45a311b48f21ee9c057f2f.tar.gz
mpegts: Ensure NULL-terminated language code
Yup, it breaks API and ABI, I know. But let's avoid people and bindings printing out garbage
Diffstat (limited to 'gst-libs/gst/mpegts')
-rw-r--r--gst-libs/gst/mpegts/gst-dvb-descriptor.c1
-rw-r--r--gst-libs/gst/mpegts/gst-dvb-descriptor.h17
2 files changed, 10 insertions, 8 deletions
diff --git a/gst-libs/gst/mpegts/gst-dvb-descriptor.c b/gst-libs/gst/mpegts/gst-dvb-descriptor.c
index 0dbdb625f..01125458d 100644
--- a/gst-libs/gst/mpegts/gst-dvb-descriptor.c
+++ b/gst-libs/gst/mpegts/gst-dvb-descriptor.c
@@ -941,6 +941,7 @@ gst_mpegts_descriptor_parse_dvb_extended_event (const GstMpegTsDescriptor
data += 1;
memcpy (res->language_code, data, 3);
+ res->language_code[3] = 0;
data += 3;
diff --git a/gst-libs/gst/mpegts/gst-dvb-descriptor.h b/gst-libs/gst/mpegts/gst-dvb-descriptor.h
index ed2248293..9d2b251e2 100644
--- a/gst-libs/gst/mpegts/gst-dvb-descriptor.h
+++ b/gst-libs/gst/mpegts/gst-dvb-descriptor.h
@@ -473,6 +473,7 @@ struct _GstMpegTsExtendedEventItem
* GstMpegTsExtendedEventDescriptor:
* @desctiptor_number:
* @last_descriptor_number:
+ * @language_code: NULL terminated language code.
* @items: (element-type GstMpegTsExtendedEventItem): the #GstMpegTsExtendedEventItem
* @text:
*
@@ -482,7 +483,7 @@ struct _GstMpegTsExtendedEventDescriptor
{
guint8 descriptor_number;
guint8 last_descriptor_number;
- gchar language_code[3];
+ gchar language_code[4];
GPtrArray *items;
gchar *text;
};
@@ -498,7 +499,7 @@ struct _GstMpegTsComponentDescriptor
guint8 component_type;
guint8 component_tag;
/* FIXME : Make it a separate (allocated, null-terminated) return value */
- gchar language_code[3];
+ gchar language_code[4];
gchar *text;
};
@@ -536,7 +537,7 @@ typedef struct _GstMpegTsDVBParentalRatingItem GstMpegTsDVBParentalRatingItem;
*/
struct _GstMpegTsDVBParentalRatingItem
{
- gchar country_code[3];
+ gchar country_code[4];
guint8 rating;
};
@@ -665,7 +666,7 @@ typedef struct _GstMpegTsDvbMultilingualNetworkNameItem GstMpegTsDvbMultilingual
*/
struct _GstMpegTsDvbMultilingualNetworkNameItem
{
- gchar language_code[3];
+ gchar language_code[4];
gchar *network_name;
};
@@ -684,7 +685,7 @@ typedef struct _GstMpegTsDvbMultilingualBouquetNameItem GstMpegTsDvbMultilingual
*/
struct _GstMpegTsDvbMultilingualBouquetNameItem
{
- gchar language_code[3];
+ gchar language_code[4];
gchar *bouquet_name;
};
@@ -704,7 +705,7 @@ typedef struct _GstMpegTsDvbMultilingualServiceNameItem GstMpegTsDvbMultilingual
*/
struct _GstMpegTsDvbMultilingualServiceNameItem
{
- gchar language_code[3];
+ gchar language_code[4];
gchar *provider_name;
gchar *service_name;
};
@@ -722,7 +723,7 @@ typedef struct _GstMpegTsDvbMultilingualComponentItem GstMpegTsDvbMultilingualCo
*/
struct _GstMpegTsDvbMultilingualComponentItem
{
- gchar language_code[3];
+ gchar language_code[4];
gchar *description;
};
@@ -754,7 +755,7 @@ struct _GstMpegTsDataBroadcastDescriptor
guint16 data_broadcast_id;
guint8 component_tag;
guint8 *selector_bytes;
- gchar language_code[3];
+ gchar language_code[4];
gchar *text;
};