[libav-commits] dashenc: Avoid a VLA-like construct

Martin Storsjö git at libav.org
Fri Nov 28 10:57:36 CET 2014


Module: libav
Branch: master
Commit: fcae9f212a6001d966c52dc22cd4b22e9851b428

Author:    Martin Storsjö <martin at martin.st>
Committer: Martin Storsjö <martin at martin.st>
Date:      Fri Nov 28 11:51:05 2014 +0200

dashenc: Avoid a VLA-like construct

This fixes the build on compilers that interpreted the earlier
code as a variable length array (which we intentionally disallow).

Signed-off-by: Martin Storsjö <martin at martin.st>

---

 libavformat/dashenc.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 9a8169e..b3b1ac1 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -308,8 +308,7 @@ static void dash_fill_tmpl_params(char *dst, size_t buffer_size,
     int dst_pos = 0;
     const char *t_cur = template;
     while (dst_pos < buffer_size - 1 && *t_cur) {
-        int format_tag_size = 7;
-        char format_tag[format_tag_size]; // May be "%d", "%0Xd", or "%0Xlld" (for $Time$), where X is in [0-9]
+        char format_tag[7]; // May be "%d", "%0Xd", or "%0Xlld" (for $Time$), where X is in [0-9]
         int n = 0;
         DASHTmplId id_type;
         const char *t_next = strchr(t_cur, '$'); // copy over everything up to the first '$' character
@@ -328,7 +327,7 @@ static void dash_fill_tmpl_params(char *dst, size_t buffer_size,
             break;
 
         // t_cur is now pointing to a '$' character
-        id_type = dash_read_tmpl_id(t_cur, format_tag, format_tag_size, &t_next);
+        id_type = dash_read_tmpl_id(t_cur, format_tag, sizeof(format_tag), &t_next);
         switch (id_type) {
         case DASH_TMPL_ID_ESCAPE:
             av_strlcpy(&dst[dst_pos], "$", 2);



More information about the libav-commits mailing list