[FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers

James Almer jamrial at gmail.com
Sat Jul 19 03:27:28 EEST 2025


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.

> 
> patch is ok except that
> 
> thx
> 
> [...]
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250718/da9dd6ff/attachment.sig>


More information about the ffmpeg-devel mailing list