diff options
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r-- | libavformat/utils.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index d6e7f69ec5..d9dc2fb731 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -297,6 +297,7 @@ int ffio_limit(AVIOContext *s, int size) int av_get_packet(AVIOContext *s, AVPacket *pkt, int size) { int ret; + int orig_size = size; size= ffio_limit(s, size); ret= av_new_packet(pkt, size); @@ -311,6 +312,8 @@ int av_get_packet(AVIOContext *s, AVPacket *pkt, int size) av_free_packet(pkt); else av_shrink_packet(pkt, ret); + if (pkt->size < orig_size) + pkt->flags |= AV_PKT_FLAG_CORRUPT; return ret; } |