---
 libavcodec/h264.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 5d4ce90..0da8ae4 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -173,11 +173,13 @@ const uint8_t *ff_h264_decode_nal(H264Context *h, const 
uint8_t *src,
         if(src[i]) continue;
         if(i>0 && src[i-1]==0) i--;
 #endif
-        if(i+2<length && src[i+1]==0 && src[i+2]<=3){
-            if(src[i+2]!=3){
+        if (i + 2 < length && src[i + 1] == 0 && src[i + 2] <= 3) {
+            if (src[i+2] != 3) {
                 /* startcode, so we must be past the end */
-                length=i;
-            }
+                length = i;
+            } else if (!(src[i+2] & 1))
+                av_dlog(h->avctx, "forbidden three byte sequence 0x00000%d\n",
+                        src[i+2] & 2);
             break;
         }
         i-= RS;
-- 
1.7.8

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to