Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
@ 2025-07-13 23:01 James Almer
  2025-07-14 22:14 ` Michael Niedermayer
  0 siblings, 1 reply; 6+ messages in thread
From: James Almer @ 2025-07-13 23:01 UTC (permalink / raw)
  To: ffmpeg-devel

Fixes: libavcodec/motion_est.c:94:31: runtime error: applying zero offset to null pointer
Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/motion_est.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
index 93be712cc0..bde4591bf7 100644
--- a/libavcodec/motion_est.c
+++ b/libavcodec/motion_est.c
@@ -90,12 +90,14 @@ static inline void init_ref(MotionEstContext *c, uint8_t *const src[3],
         ((y*c->uvstride + x)>>1),
     };
     int i;
-    for(i=0; i<3; i++){
+    for (i = 0; i < 3 && src[i]; i++) {
         c->src[0][i]= src [i] + offset[i];
+    }
+    for (i = 0; i < 3 && ref[i]; i++) {
         c->ref[0][i]= ref [i] + offset[i];
     }
     if(ref_index){
-        for(i=0; i<3; i++){
+        for (i = 0; i < 3 && ref2[i]; i++) {
             c->ref[ref_index][i]= ref2[i] + offset[i];
         }
     }
-- 
2.50.1

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

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
  2025-07-13 23:01 [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers James Almer
@ 2025-07-14 22:14 ` Michael Niedermayer
  2025-07-15 13:33   ` James Almer
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Niedermayer @ 2025-07-14 22:14 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


[-- Attachment #1.1: Type: text/plain, Size: 1493 bytes --]

On Sun, Jul 13, 2025 at 08:01:52PM -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@gmail.com>
> ---
>  libavcodec/motion_est.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
> index 93be712cc0..bde4591bf7 100644
> --- a/libavcodec/motion_est.c
> +++ b/libavcodec/motion_est.c
> @@ -90,12 +90,14 @@ static inline void init_ref(MotionEstContext *c, uint8_t *const src[3],
>          ((y*c->uvstride + x)>>1),
>      };
>      int i;
> -    for(i=0; i<3; i++){
> +    for (i = 0; i < 3 && src[i]; i++) {
>          c->src[0][i]= src [i] + offset[i];
> +    }
> +    for (i = 0; i < 3 && ref[i]; i++) {
>          c->ref[0][i]= ref [i] + offset[i];
>      }
>      if(ref_index){
> -        for(i=0; i<3; i++){
> +        for (i = 0; i < 3 && ref2[i]; i++) {
>              c->ref[ref_index][i]= ref2[i] + offset[i];
>          }
>      }

I think the destination should be initialized to NULL
when source is NULL. But i didnt check if it makes a difference,
just from looking at this

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Concerning the gods, I have no means of knowing whether they exist or not
or of what sort they may be, because of the obscurity of the subject, and
the brevity of human life -- Protagoras

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

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

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
  2025-07-14 22:14 ` Michael Niedermayer
@ 2025-07-15 13:33   ` James Almer
  2025-07-18 23:01     ` Michael Niedermayer
  0 siblings, 1 reply; 6+ messages in thread
From: James Almer @ 2025-07-15 13:33 UTC (permalink / raw)
  To: ffmpeg-devel

Fixes: libavcodec/motion_est.c:94:31: runtime error: applying zero offset to null pointer
Signed-off-by: James Almer <jamrial@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;
     }
     if(ref_index){
         for(i=0; i<3; i++){
-            c->ref[ref_index][i]= ref2[i] + offset[i];
+            c->ref[ref_index][i]= ref2[i] ? FF_PTR_ADD(ref2[i], offset[i]) : NULL;
         }
     }
 }
-- 
2.50.1

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

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
  2025-07-15 13:33   ` James Almer
@ 2025-07-18 23:01     ` Michael Niedermayer
  2025-07-19  0:27       ` James Almer
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Niedermayer @ 2025-07-18 23:01 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


[-- Attachment #1.1: Type: text/plain, Size: 1155 bytes --]

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@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 ?

patch is ok except that

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Give a rich man 100$ and he will turn it into 1000$.
Give a poor man 1000$ and he will spend it.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

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

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
  2025-07-18 23:01     ` Michael Niedermayer
@ 2025-07-19  0:27       ` James Almer
  2025-07-19 14:09         ` Kacper Michajlow
  0 siblings, 1 reply; 6+ messages in thread
From: James Almer @ 2025-07-19  0:27 UTC (permalink / raw)
  To: ffmpeg-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 1537 bytes --]

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@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@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

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

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers
  2025-07-19  0:27       ` James Almer
@ 2025-07-19 14:09         ` Kacper Michajlow
  0 siblings, 0 replies; 6+ messages in thread
From: Kacper Michajlow @ 2025-07-19 14:09 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Sat, 19 Jul 2025 at 02:27, James Almer <jamrial@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@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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-07-19 14:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-13 23:01 [FFmpeg-devel] [PATCH] avcodec/motion_est: don't add offsets to NULL pointers James Almer
2025-07-14 22:14 ` Michael Niedermayer
2025-07-15 13:33   ` James Almer
2025-07-18 23:01     ` Michael Niedermayer
2025-07-19  0:27       ` James Almer
2025-07-19 14:09         ` Kacper Michajlow

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git