diff mbox series

[FFmpeg-devel] libswscale/swscale: initialize all dst plane pointers in sws_receive_slice()

Message ID 20210906150125.4336-1-jamrial@gmail.com
State Accepted
Commit 5fe648d04a2af3229704b26f114ba87158b9e9d2
Headers show
Series [FFmpeg-devel] libswscale/swscale: initialize all dst plane pointers in sws_receive_slice() | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

James Almer Sept. 6, 2021, 3:01 p.m. UTC
Fixes valgrind warnings about use of uninitialised values.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libswscale/swscale.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

James Almer Sept. 7, 2021, 1:06 p.m. UTC | #1
On 9/6/2021 12:01 PM, James Almer wrote:
> Fixes valgrind warnings about use of uninitialised values.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>   libswscale/swscale.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/libswscale/swscale.c b/libswscale/swscale.c
> index c233818dcf..b9c9647fcb 100644
> --- a/libswscale/swscale.c
> +++ b/libswscale/swscale.c
> @@ -1160,9 +1160,9 @@ int sws_receive_slice(struct SwsContext *c, unsigned int slice_start,
>           return ret;
>       }
>   
> -    for (int i = 0; i < FF_ARRAY_ELEMS(dst) && c->frame_dst->data[i]; i++) {
> -        dst[i] = c->frame_dst->data[i] +
> -                 c->frame_dst->linesize[i] * (slice_start >> c->chrDstVSubSample);
> +    for (int i = 0; i < FF_ARRAY_ELEMS(dst); i++) {
> +        ptrdiff_t offset = c->frame_dst->linesize[i] * (slice_start >> c->chrDstVSubSample);
> +        dst[i] = FF_PTR_ADD(c->frame_dst->data[i], offset);
>       }
>   
>       return scale_internal(c, (const uint8_t * const *)c->frame_src->data,

Applied.
diff mbox series

Patch

diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index c233818dcf..b9c9647fcb 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -1160,9 +1160,9 @@  int sws_receive_slice(struct SwsContext *c, unsigned int slice_start,
         return ret;
     }
 
-    for (int i = 0; i < FF_ARRAY_ELEMS(dst) && c->frame_dst->data[i]; i++) {
-        dst[i] = c->frame_dst->data[i] +
-                 c->frame_dst->linesize[i] * (slice_start >> c->chrDstVSubSample);
+    for (int i = 0; i < FF_ARRAY_ELEMS(dst); i++) {
+        ptrdiff_t offset = c->frame_dst->linesize[i] * (slice_start >> c->chrDstVSubSample);
+        dst[i] = FF_PTR_ADD(c->frame_dst->data[i], offset);
     }
 
     return scale_internal(c, (const uint8_t * const *)c->frame_src->data,