]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit '61bd0ed781b56eea1e8e851aab34a2ee3b59fbac'
authorHendrik Leppkes <h.leppkes@gmail.com>
Thu, 17 Nov 2016 14:24:25 +0000 (15:24 +0100)
committerHendrik Leppkes <h.leppkes@gmail.com>
Thu, 17 Nov 2016 14:24:25 +0000 (15:24 +0100)
* commit '61bd0ed781b56eea1e8e851aab34a2ee3b59fbac':
  h264: Log more information about invalid NALu size

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
1  2 
libavcodec/h2645_parse.h

index 3a60f3fb9b75fc04318c19baa5543a8cf62da40d,9cc4441d9e3547b76d3e66d62e236d5ddd3b68fd..5f3e17a0f258b14355d798db902eafdd68ef446a
@@@ -90,24 -85,4 +90,24 @@@ int ff_h2645_packet_split(H2645Packet *
   */
  void ff_h2645_packet_uninit(H2645Packet *pkt);
  
-                "Invalid nal size %d\n", nalsize);
 +static inline int get_nalsize(int nal_length_size, const uint8_t *buf,
 +                              int buf_size, int *buf_index, void *logctx)
 +{
 +    int i, nalsize = 0;
 +
 +    if (*buf_index >= buf_size - nal_length_size) {
 +        // the end of the buffer is reached, refill it
 +        return AVERROR(EAGAIN);
 +    }
 +
 +    for (i = 0; i < nal_length_size; i++)
 +        nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++];
 +    if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
 +        av_log(logctx, AV_LOG_ERROR,
++               "Invalid NAL unit size (%d > %d).\n", nalsize, buf_size - *buf_index);
 +        return AVERROR_INVALIDDATA;
 +    }
 +    return nalsize;
 +}
 +
  #endif /* AVCODEC_H2645_PARSE_H */