1. 19 Dec, 2014 4 commits
    • Anton Khirnov's avatar
      mmvideo: check frame dimensions · 17ba719d
      Anton Khirnov authored
      The frame size must be set by the caller and each dimension must be a
      multiple of 2.
      
      CC: libav-stable@libav.org
      Bug-ID: CVE-2014-8543
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      17ba719d
    • Anton Khirnov's avatar
      jvdec: check frame dimensions · 88626e5a
      Anton Khirnov authored
      The frame size must be set by the caller and each dimension must be a
      multiple of 8.
      
      CC: libav-stable@libav.org
      Bug-ID: CVE-2014-8542
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      88626e5a
    • Anton Khirnov's avatar
      mjpegdec: check for pixel format changes · 809c3023
      Anton Khirnov authored
      Fixes possible invalid memory access.
      
      Based on code by Michael Niedermayer <michaelni@gmx.at>
      
      CC: libav-stable@libav.org
      Bug-ID: CVE-2014-8541
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      809c3023
    • Anton Khirnov's avatar
      mov: avoid a memleak when multiple stss boxes are present · 64f7575f
      Anton Khirnov authored
      CC: libav-stable@libav.org
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      64f7575f
  2. 18 Dec, 2014 33 commits
  3. 17 Dec, 2014 2 commits
    • Martin Storsjö's avatar
      dashenc: Adjust the start time of a segment to the end of the previous segment · 456e93bf
      Martin Storsjö authored
      This is the same adjustment that the mp4 muxer does to the start
      timestamp of fragments, since the timestamp of a sample in an mp4
      file is implicit from the sum of earlier sample durations.
      
      This avoids gaps in the timeline (which can stop dash.js from
      playing it back), and makes sure the timestamp on the segmenter
      level matches what the mp4 muxer actually writes into the segments.
      
      This is only an issue if the AVPacket duration of the last
      packet of a segment doesn't point to the actual start timestamp
      of the next packet (the first in the next segment).
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      456e93bf
    • Martin Storsjö's avatar
      dashenc: Write segment timelines properly if the timeline has gaps · 2f628d59
      Martin Storsjö authored
      Write a new start time if the duration of the previous segment
      didn't match the start of the next one. Check that segments
      actually are continuous before writing a repeat count.
      
      This makes sure timestamps deduced from the timeline actually
      match the real start timestamp as written in filenames (if
      using a template containing $Time$).
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      2f628d59
  4. 15 Dec, 2014 1 commit
    • Martin Storsjö's avatar
      mov: Fix handling of zero-length metadata values · 6f4364ab
      Martin Storsjö authored
      Since 3cec81f4, a zero-length metadata value would try to
      allocate 2*0 bytes, where av_malloc() returns NULL.
      
      Always add one to the allocated length, to allow space for
      a null terminator in the zero-length case.
      
      Incidentally, this fixes fate-alac on RVCT 4.0, where a compiler
      bug seems to mess up the mov muxer to the point that it writes
      the wrong sort of metadata. Previously this bug was undetected,
      but since 3cec81f4 such mov files started returning
      AVERROR(ENOMEM) in the mov demuxer.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      6f4364ab