hlsenc: Correctly write down all 16 bytes in hex
authorLuca Barbato <lu_zero@gentoo.org>
Thu, 9 Feb 2017 22:27:41 +0000 (23:27 +0100)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 10 Feb 2017 13:12:16 +0000 (14:12 +0100)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavformat/hlsenc.c

index 05c9adb..7aef02b 100644 (file)
@@ -102,11 +102,12 @@ static void free_encryption(AVFormatContext *s)
     av_freep(&hls->key_basename);
 }
 
-static int dict_set_bin(AVDictionary **dict, const char *key, uint8_t *buf)
+static int dict_set_bin(AVDictionary **dict, const char *key,
+                        uint8_t *buf, size_t len)
 {
     char hex[33];
 
-    ff_data_to_hex(hex, buf, sizeof(buf), 0);
+    ff_data_to_hex(hex, buf, len, 0);
     hex[32] = '\0';
 
     return av_dict_set(dict, key, hex, 0);
@@ -136,7 +137,7 @@ static int setup_encryption(AVFormatContext *s)
             return AVERROR(EINVAL);
         }
 
-        if ((ret = dict_set_bin(&hls->enc_opts, "key", hls->key)) < 0)
+        if ((ret = dict_set_bin(&hls->enc_opts, "key", hls->key, hls->key_len)) < 0)
             return ret;
         k = hls->key;
     } else {
@@ -145,7 +146,7 @@ static int setup_encryption(AVFormatContext *s)
             return ret;
         }
 
-        if ((ret = dict_set_bin(&hls->enc_opts, "key", buf)) < 0)
+        if ((ret = dict_set_bin(&hls->enc_opts, "key", buf, sizeof(buf))) < 0)
             return ret;
         k = buf;
     }
@@ -158,7 +159,7 @@ static int setup_encryption(AVFormatContext *s)
             return AVERROR(EINVAL);
         }
 
-        if ((ret = dict_set_bin(&hls->enc_opts, "iv", hls->iv)) < 0)
+        if ((ret = dict_set_bin(&hls->enc_opts, "iv", hls->iv, hls->iv_len)) < 0)
             return ret;
     }