Module: libav
Branch: master
Commit: 5245adb963e35660a70115c437cd67ea0c398885

Author:    Martin Storsjö <[email protected]>
Committer: Martin Storsjö <[email protected]>
Date:      Fri May  4 22:45:11 2012 +0300

rtpdec_h264: Check the available data length before reading

This makes sure the length is checked for STAP-A type packets.

Signed-off-by: Martin Storsjö <[email protected]>

---

 libavformat/rtpdec_h264.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtpdec_h264.c b/libavformat/rtpdec_h264.c
index 51447f9..8b56ada 100644
--- a/libavformat/rtpdec_h264.c
+++ b/libavformat/rtpdec_h264.c
@@ -218,7 +218,7 @@ static int h264_handle_packet(AVFormatContext *ctx,
                 const uint8_t *src= buf;
                 int src_len= len;
 
-                do {
+                while (src_len > 2) {
                     uint16_t nal_size = AV_RB16(src); // this going to be a 
problem if unaligned (can it be?)
 
                     // consume the length of the aggregate...
@@ -252,7 +252,7 @@ static int h264_handle_packet(AVFormatContext *ctx,
                     if (src_len < 0)
                         av_log(ctx, AV_LOG_ERROR,
                                "Consumed more bytes than we got! (%d)\n", 
src_len);
-                } while (src_len > 2);      // because there could be rtp 
padding..
+                }
 
                 if(pass==0) {
                     // now we know the total size of the packet (with the 
start sequences added)

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to