[FFmpeg-cvslog] ffprobe: only hash extradata when it is present

Anton Khirnov git at videolan.org
Sun May 9 12:08:45 EEST 2021


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat Apr 24 16:19:42 2021 +0200| [544631cab1140044524bf6bc04ec8c5c275627b6] | committer: Anton Khirnov

ffprobe: only hash extradata when it is present

Passing zero-sized/NULL buffers to av_hash_update() is invalid and may
crash with certain hashes.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=544631cab1140044524bf6bc04ec8c5c275627b6
---

 fftools/ffprobe.c                                         | 7 +++++--
 tests/ref/fate/hapqa-extract-nosnappy-to-hapalphaonly-mov | 1 -
 tests/ref/fate/hapqa-extract-nosnappy-to-hapq-mov         | 1 -
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index b07032bd88..f7c5db8613 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2748,8 +2748,11 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
     if (do_show_data)
         writer_print_data(w, "extradata", par->extradata,
                                           par->extradata_size);
-    writer_print_data_hash(w, "extradata_hash", par->extradata,
-                                                par->extradata_size);
+
+    if (par->extradata_size > 0) {
+        writer_print_data_hash(w, "extradata_hash", par->extradata,
+                                                    par->extradata_size);
+    }
 
     /* Print disposition information */
 #define PRINT_DISPOSITION(flagname, name) do {                                \
diff --git a/tests/ref/fate/hapqa-extract-nosnappy-to-hapalphaonly-mov b/tests/ref/fate/hapqa-extract-nosnappy-to-hapalphaonly-mov
index b69181ace7..4ef569df89 100644
--- a/tests/ref/fate/hapqa-extract-nosnappy-to-hapalphaonly-mov
+++ b/tests/ref/fate/hapqa-extract-nosnappy-to-hapalphaonly-mov
@@ -50,7 +50,6 @@ bits_per_raw_sample=N/A
 nb_frames=1
 nb_read_frames=N/A
 nb_read_packets=1
-extradata_hash=adler32:00000001
 DISPOSITION:default=1
 DISPOSITION:dub=0
 DISPOSITION:original=0
diff --git a/tests/ref/fate/hapqa-extract-nosnappy-to-hapq-mov b/tests/ref/fate/hapqa-extract-nosnappy-to-hapq-mov
index 16923e8684..70e7cdc943 100644
--- a/tests/ref/fate/hapqa-extract-nosnappy-to-hapq-mov
+++ b/tests/ref/fate/hapqa-extract-nosnappy-to-hapq-mov
@@ -50,7 +50,6 @@ bits_per_raw_sample=N/A
 nb_frames=1
 nb_read_frames=N/A
 nb_read_packets=1
-extradata_hash=adler32:00000001
 DISPOSITION:default=1
 DISPOSITION:dub=0
 DISPOSITION:original=0



More information about the ffmpeg-cvslog mailing list