Skip to content

pr-ffstaging-12/softworkz/master-upstream_asf_4-v5

The spec allows attachment sizes of up to UINT32_MAX while we can handle
only sizes up to INT32_MAX (in downstream code)

The debug.assert in get_tag didn't really address this, and truncating the
value_len in calling methods cannot be used because the length value is
required in order to continue parsing. This adds a check with log message in
ff_asf_handle_byte_array to handle those (rare) cases.

v2: Rebased & PING
v3: Adjustments suggested by Michael
v4: 1 of 11 merged, 10 to go..
v5: adjusted commit message of 4/10 as requested

softworkz (10):
  libavformat/asf: fix handling of byte array length values
  libavformat/asfdec: fix get_value return type and add checks for
  libavformat/asfdec: fix type of value_len
  libavformat/asfdec: fixing get_tag
  libavformat/asfdec: implement parsing of GUID values
  libavformat/asfdec: avoid clang warnings
  libavformat/asfdec: remove variable redefinition in inner scope
  libavformat/asfdec: ensure variables are initialized
  libavformat/asfdec: fix parameter type in asf_read_stream_propertie()
  libavformat/asfdec: fix variable types and add checks for unsupported
    values

 libavformat/asf.c      |   8 +-
 libavformat/asf.h      |   2 +-
 libavformat/asfdec_f.c | 338 +++++++++++++++++++++++++++--------------
 3 files changed, 229 insertions(+), 119 deletions(-)

base-commit: 9ab20b1614194280b862d98dfcdb7b1bcff03329

Submitted-As: https://master.gitmailbox.com/ffmpegdev/pull.12.v5.ffstaging.FFmpeg.1653110500.ffmpegagent@gmail.com
In-Reply-To: https://master.gitmailbox.com/ffmpegdev/pull.12.ffstaging.FFmpeg.1640186030.ffmpegagent@gmail.com
In-Reply-To: https://master.gitmailbox.com/ffmpegdev/pull.12.v2.ffstaging.FFmpeg.1651916204.ffmpegagent@gmail.com
In-Reply-To: https://master.gitmailbox.com/ffmpegdev/pull.12.v3.ffstaging.FFmpeg.1651978882.ffmpegagent@gmail.com
In-Reply-To: https://master.gitmailbox.com/ffmpegdev/pull.12.v4.ffstaging.FFmpeg.1652561722.ffmpegagent@gmail.com
Assets 2