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.
This commit is contained in:
Anton Khirnov 2021-04-24 16:19:42 +02:00
parent 13180968f8
commit 544631cab1
3 changed files with 5 additions and 4 deletions

View File

@ -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 { \

View File

@ -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

View File

@ -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