diff mbox series

[FFmpeg-devel,PATCHv2,1/2] lavc/vorbisdec: use ptrdiff_t to iterate over intptr_t

Message ID 20220919153551.11377-1-remi@remlab.net
State New
Headers show
Series [FFmpeg-devel,PATCHv2,1/2] lavc/vorbisdec: use ptrdiff_t to iterate over intptr_t | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Rémi Denis-Courmont Sept. 19, 2022, 3:35 p.m. UTC
From: Rémi Denis-Courmont <remi@remlab.net>

While this probably never overflows, we are better safe than sorry.

The callback prototype should probably also use ptrdiff_t or size_t,
but I diggress (this would affect the DSP callback prototype).
---
 libavcodec/vorbisdec.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

James Almer Sept. 19, 2022, 3:48 p.m. UTC | #1
On 9/19/2022 12:35 PM, remi@remlab.net wrote:
> From: Rémi Denis-Courmont <remi@remlab.net>
> 
> While this probably never overflows, we are better safe than sorry.
> 
> The callback prototype should probably also use ptrdiff_t or size_t,
> but I diggress (this would affect the DSP callback prototype).

If you mean using ptrdiff_t instead of intptr_t, it should be pretty 
straightforward. Effectively only a prototype change and no need to 
touch the asm implementations. It would also put it in line with the 
rest of the codebase.

> ---
>   libavcodec/vorbisdec.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
> index 38a5367be3..bfc4be6fc6 100644
> --- a/libavcodec/vorbisdec.c
> +++ b/libavcodec/vorbisdec.c
> @@ -1581,8 +1581,7 @@ static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr,
>   
>   void ff_vorbis_inverse_coupling(float *mag, float *ang, intptr_t blocksize)
>   {
> -    int i;
> -    for (i = 0;  i < blocksize;  i++) {
> +    for (ptrdiff_t i = 0; i < blocksize; i++) {
>           if (mag[i] > 0.0) {
>               if (ang[i] > 0.0) {
>                   ang[i] = mag[i] - ang[i];
Rémi Denis-Courmont Sept. 19, 2022, 4:06 p.m. UTC | #2
Le maanantaina 19. syyskuuta 2022, 18.48.11 EEST James Almer a écrit :
> On 9/19/2022 12:35 PM, remi@remlab.net wrote:
> > From: Rémi Denis-Courmont <remi@remlab.net>
> > 
> > While this probably never overflows, we are better safe than sorry.
> > 
> > The callback prototype should probably also use ptrdiff_t or size_t,
> > but I diggress (this would affect the DSP callback prototype).
> 
> If you mean using ptrdiff_t instead of intptr_t, it should be pretty
> straightforward. Effectively only a prototype change and no need to
> touch the asm implementations. It would also put it in line with the
> rest of the codebase.

Unfortunately, they are defined in different headers, <stddef.h> vs <stdint.h> 
so it is not quite that straightforward.
diff mbox series

Patch

diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
index 38a5367be3..bfc4be6fc6 100644
--- a/libavcodec/vorbisdec.c
+++ b/libavcodec/vorbisdec.c
@@ -1581,8 +1581,7 @@  static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr,
 
 void ff_vorbis_inverse_coupling(float *mag, float *ang, intptr_t blocksize)
 {
-    int i;
-    for (i = 0;  i < blocksize;  i++) {
+    for (ptrdiff_t i = 0; i < blocksize; i++) {
         if (mag[i] > 0.0) {
             if (ang[i] > 0.0) {
                 ang[i] = mag[i] - ang[i];