[FFmpeg-devel] [PATCH 1/8] avpriv_find_start_code(): readability enhancement part 1

Scott Theisen scott.the.elm at gmail.com
Tue Feb 1 23:20:49 EET 2022


No functional change.
---
 libavcodec/utils.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index b19befef21..cb4437edc2 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -967,10 +967,14 @@ const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p,
         }
     }
 
-    p = FFMIN(p, end) - 4;
-    *state = AV_RB32(p);
+    if (p > end)
+        p = end;
+    // this will cause the last 4 bytes before end to be read,
+    // i.e. no out of bounds memory access occurs
 
-    return p + 4;
+    *state = AV_RB32(p - 4); // read the previous 4 bytes
+
+    return p;
 }
 
 AVCPBProperties *av_cpb_properties_alloc(size_t *size)
-- 
2.32.0



More information about the ffmpeg-devel mailing list