[FFmpeg-devel] [PATCH 2/2] avutil/tests/base64: Check with too short output array

Michael Niedermayer michael at niedermayer.cc
Sat May 11 04:22:54 EEST 2024


Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavutil/tests/base64.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/libavutil/tests/base64.c b/libavutil/tests/base64.c
index 400e01cefe4..66d0fdc1fc8 100644
--- a/libavutil/tests/base64.c
+++ b/libavutil/tests/base64.c
@@ -64,6 +64,16 @@ static int test_encode_decode(const uint8_t *data, unsigned int data_size,
         printf("Failed: decode to NULL buffer\n");
         return 1;
     }
+    if (data_size > 0 && (data2_size = av_base64_decode(data2, encoded, data_size - 1)) != data_size - 1) {
+        printf("Failed: out of array write\n"
+               "Encoded:\n%s\n", encoded);
+        return 1;
+    }
+    if (data_size > 1 && (data2_size = av_base64_decode(data2, encoded, data_size - 2)) != data_size - 2) {
+        printf("Failed: out of array write\n"
+               "Encoded:\n%s\n", encoded);
+        return 1;
+    }
     if (strlen(encoded)) {
         char *end = strchr(encoded, '=');
         if (!end)
-- 
2.43.2



More information about the ffmpeg-devel mailing list