[FFmpeg-devel] [PATCH] avcodec/ttmlenc: Use string literal macro for default namespacing

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sun Jul 31 06:02:00 EEST 2022


Fixes -Werror=format-security build failures when building with
disabled optimizations and (according to fate.ffmpeg.org also with
several other old GCC versions).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
Will apply this soon to unbreak FATE.

 libavcodec/ttmlenc.c  |  2 +-
 libavcodec/ttmlenc.h  | 10 +++++-----
 libavformat/ttmlenc.c |  2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavcodec/ttmlenc.c b/libavcodec/ttmlenc.c
index 2a0be99028..7a09c8fb5e 100644
--- a/libavcodec/ttmlenc.c
+++ b/libavcodec/ttmlenc.c
@@ -315,7 +315,7 @@ static int ttml_write_header_content(AVCodecContext *avctx)
     }
 
     // write the first string in extradata, attributes in the base "tt" element.
-    av_bprintf(&s->buffer, ttml_default_namespacing);
+    av_bprintf(&s->buffer, TTML_DEFAULT_NAMESPACING);
     // the cell resolution is in character cells, so not exactly 1:1 against
     // a pixel based resolution, but as the tts:extent in the root
     // "tt" element is frowned upon (and disallowed in the EBU-TT profile),
diff --git a/libavcodec/ttmlenc.h b/libavcodec/ttmlenc.h
index 654ca0ee4d..cbed6f63b3 100644
--- a/libavcodec/ttmlenc.h
+++ b/libavcodec/ttmlenc.h
@@ -25,10 +25,10 @@
 #define TTMLENC_EXTRADATA_SIGNATURE "lavc-ttmlenc"
 #define TTMLENC_EXTRADATA_SIGNATURE_SIZE (sizeof(TTMLENC_EXTRADATA_SIGNATURE) - 1)
 
-static const char *const ttml_default_namespacing =
-"  xmlns=\"http://www.w3.org/ns/ttml\"\n"
-"  xmlns:ttm=\"http://www.w3.org/ns/ttml#metadata\"\n"
-"  xmlns:tts=\"http://www.w3.org/ns/ttml#styling\"\n"
-"  xmlns:ttp=\"http://www.w3.org/ns/ttml#parameter\"\n";
+#define TTML_DEFAULT_NAMESPACING                        \
+"  xmlns=\"http://www.w3.org/ns/ttml\"\n"               \
+"  xmlns:ttm=\"http://www.w3.org/ns/ttml#metadata\"\n"  \
+"  xmlns:tts=\"http://www.w3.org/ns/ttml#styling\"\n"   \
+"  xmlns:ttp=\"http://www.w3.org/ns/ttml#parameter\"\n"
 
 #endif /* AVCODEC_TTMLENC_H */
diff --git a/libavformat/ttmlenc.c b/libavformat/ttmlenc.c
index 896fc81958..fc8069f7b5 100644
--- a/libavformat/ttmlenc.c
+++ b/libavformat/ttmlenc.c
@@ -91,7 +91,7 @@ static int ttml_set_header_values_from_extradata(
     if (!additional_data_size) {
         // simple case, we don't have to go through local_params and just
         // set default fall-back values (for old extradata format).
-        header_params->tt_element_params = ttml_default_namespacing;
+        header_params->tt_element_params = TTML_DEFAULT_NAMESPACING;
         header_params->pre_body_elements = "";
 
         return 0;
-- 
2.34.1



More information about the ffmpeg-devel mailing list