[FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
Kacper Michajlow
kasper93 at gmail.com
Sat Jul 19 17:09:09 EEST 2025
On Sat, 19 Jul 2025 at 02:27, James Almer <jamrial at gmail.com> wrote:
> On 7/18/2025 8:01 PM, Michael Niedermayer wrote:
> > On Tue, Jul 15, 2025 at 10:33:10AM -0300, James Almer wrote:
> >> Fixes: libavcodec/motion_est.c:94:31: runtime error: applying zero
> offset to null pointer
> >> Signed-off-by: James Almer <jamrial at gmail.com>
> >> ---
> >> libavcodec/motion_est.c | 6 +++---
> >> 1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
> >> index 93be712cc0..3273451f9a 100644
> >> --- a/libavcodec/motion_est.c
> >> +++ b/libavcodec/motion_est.c
> >> @@ -91,12 +91,12 @@ static inline void init_ref(MotionEstContext *c,
> uint8_t *const src[3],
> >> };
> >> int i;
> >> for(i=0; i<3; i++){
> >> - c->src[0][i]= src [i] + offset[i];
> >> - c->ref[0][i]= ref [i] + offset[i];
> >> + c->src[0][i]= src[i] ? FF_PTR_ADD(src[i], offset[i]) : NULL;
> >> + c->ref[0][i]= ref[i] ? FF_PTR_ADD(ref[i], offset[i]) : NULL;
> >
> > why does this need FF_PTR_ADD() when the pointer is not NULL ?
>
> FF_PTR_ADD() checks the offset, not the pointer. I don't know if it can
> be 0 or not here, so better safe than sorry.
>
> If you can confirm offset[i] is never 0, then i'll remove it.
Does it matter? Adding 0 to a non-null pointer is valid.
- Kacper
More information about the ffmpeg-devel
mailing list