diff options
author | Edward Hervey <bilboed@bilboed.com> | 2014-05-27 17:32:52 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2014-05-27 17:34:48 +0200 |
commit | 1797802bd25aeb361e45a311b48f21ee9c057f2f (patch) | |
tree | 7a2a960e394f749396e60df9a0045137fa2533ad /gst-libs/gst/mpegts | |
parent | f7b1b5fcd3e1f24a34aa5217724efca5c261756b (diff) | |
download | gstreamer-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.c | 1 | ||||
-rw-r--r-- | gst-libs/gst/mpegts/gst-dvb-descriptor.h | 17 |
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; }; |