diff mbox series

[FFmpeg-devel,6/6] avutil/adler32: Switch av_adler32_update() to size_t on bump

Message ID 20210318034314.1531570-2-andreas.rheinhardt@gmail.com
State Accepted
Headers show
Series [FFmpeg-devel,1/5] avcodec/avpacket: Improve overflow checks when packing dictionary
Related show

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished
andriy/PPC64_make success Make finished
andriy/PPC64_make_fate success Make fate finished

Commit Message

Andreas Rheinhardt March 18, 2021, 3:43 a.m. UTC
av_adler32_update() is used by av_hash_update() which will be switched
to size_t at the next bump. So it also has to be made to use size_t.
This is also necessary for framecrcenc.c, because the size of side data
will become a size_t, too.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 doc/APIchanges      |  5 +++++
 libavutil/adler32.c |  4 ++++
 libavutil/adler32.h | 16 ++++++++++++++--
 libavutil/version.h |  2 +-
 4 files changed, 24 insertions(+), 3 deletions(-)

Comments

James Almer March 18, 2021, 1:22 p.m. UTC | #1
On 3/18/2021 12:43 AM, Andreas Rheinhardt wrote:
> av_adler32_update() is used by av_hash_update() which will be switched
> to size_t at the next bump. So it also has to be made to use size_t.
> This is also necessary for framecrcenc.c, because the size of side data
> will become a size_t, too.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
> ---
>   doc/APIchanges      |  5 +++++
>   libavutil/adler32.c |  4 ++++
>   libavutil/adler32.h | 16 ++++++++++++++--
>   libavutil/version.h |  2 +-
>   4 files changed, 24 insertions(+), 3 deletions(-)
> 
> diff --git a/doc/APIchanges b/doc/APIchanges
> index 849d95a7ed..1782ae83fe 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -15,6 +15,11 @@ libavutil:     2017-10-21
>   
>   API changes, most recent first:
>   
> +2021-03-18 - xxxxxxxxxx - lavu 56.69.100 - adler32.h
> +  av_adler32_update() will be changed to use uint32_t
> +  for the Adler-32 checksums and size_t for the length
> +  if the input buffer at the next bump.
> +
>   2021-03-xx - xxxxxxxxxx - lavc 58.133.100 - codec.h
>     Deprecated av_init_packet(). Once removed, sizeof(AVPacket) will
>     no longer be a part of the public ABI.
> diff --git a/libavutil/adler32.c b/libavutil/adler32.c
> index c87d5e261c..5ed5ff55a3 100644
> --- a/libavutil/adler32.c
> +++ b/libavutil/adler32.c
> @@ -41,8 +41,12 @@
>   #define DO4(buf)  DO1(buf); DO1(buf); DO1(buf); DO1(buf);
>   #define DO16(buf) DO4(buf); DO4(buf); DO4(buf); DO4(buf);
>   
> +#if FF_API_CRYPTO_SIZE_T
>   unsigned long av_adler32_update(unsigned long adler, const uint8_t * buf,
>                                   unsigned int len)
> +#else
> +AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf, size_t len)
> +#endif
>   {
>       unsigned long s1 = adler & 0xffff;
>       unsigned long s2 = adler >> 16;
> diff --git a/libavutil/adler32.h b/libavutil/adler32.h
> index a1f035b734..e7a8f83729 100644
> --- a/libavutil/adler32.h
> +++ b/libavutil/adler32.h
> @@ -27,8 +27,10 @@
>   #ifndef AVUTIL_ADLER32_H
>   #define AVUTIL_ADLER32_H
>   
> +#include <stddef.h>
>   #include <stdint.h>
>   #include "attributes.h"
> +#include "version.h"
>   
>   /**
>    * @defgroup lavu_adler32 Adler-32
> @@ -38,6 +40,12 @@
>    * @{
>    */
>   
> +#if FF_API_CRYPTO_SIZE_T
> +typedef unsigned long AVAdler;
> +#else
> +typedef uint32_t AVAdler;

This typedef should be mentioned as added in the APIChanges entry.

> +#endif
> +
>   /**
>    * Calculate the Adler32 checksum of a buffer.
>    *
> @@ -50,8 +58,12 @@
>    * @param len   size of input buffer
>    * @return      updated checksum
>    */
> -unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
> -                                unsigned int len) av_pure;
> +AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf,
> +#if FF_API_CRYPTO_SIZE_T
> +                          unsigned int len) av_pure;
> +#else
> +                          size_t len) av_pure;
> +#endif
>   
>   /**
>    * @}
> diff --git a/libavutil/version.h b/libavutil/version.h
> index 9a290d57e7..f357f6165e 100644
> --- a/libavutil/version.h
> +++ b/libavutil/version.h
> @@ -79,7 +79,7 @@
>    */
>   
>   #define LIBAVUTIL_VERSION_MAJOR  56
> -#define LIBAVUTIL_VERSION_MINOR  68
> +#define LIBAVUTIL_VERSION_MINOR  69
>   #define LIBAVUTIL_VERSION_MICRO 100
>   
>   #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
>
Andreas Rheinhardt March 18, 2021, 11:09 p.m. UTC | #2
James Almer:
> On 3/18/2021 12:43 AM, Andreas Rheinhardt wrote:
>> av_adler32_update() is used by av_hash_update() which will be switched
>> to size_t at the next bump. So it also has to be made to use size_t.
>> This is also necessary for framecrcenc.c, because the size of side data
>> will become a size_t, too.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
>> ---
>>   doc/APIchanges      |  5 +++++
>>   libavutil/adler32.c |  4 ++++
>>   libavutil/adler32.h | 16 ++++++++++++++--
>>   libavutil/version.h |  2 +-
>>   4 files changed, 24 insertions(+), 3 deletions(-)
>>
>> diff --git a/doc/APIchanges b/doc/APIchanges
>> index 849d95a7ed..1782ae83fe 100644
>> --- a/doc/APIchanges
>> +++ b/doc/APIchanges
>> @@ -15,6 +15,11 @@ libavutil:     2017-10-21
>>     API changes, most recent first:
>>   +2021-03-18 - xxxxxxxxxx - lavu 56.69.100 - adler32.h
>> +  av_adler32_update() will be changed to use uint32_t
>> +  for the Adler-32 checksums and size_t for the length
>> +  if the input buffer at the next bump.
>> +
>>   2021-03-xx - xxxxxxxxxx - lavc 58.133.100 - codec.h
>>     Deprecated av_init_packet(). Once removed, sizeof(AVPacket) will
>>     no longer be a part of the public ABI.
>> diff --git a/libavutil/adler32.c b/libavutil/adler32.c
>> index c87d5e261c..5ed5ff55a3 100644
>> --- a/libavutil/adler32.c
>> +++ b/libavutil/adler32.c
>> @@ -41,8 +41,12 @@
>>   #define DO4(buf)  DO1(buf); DO1(buf); DO1(buf); DO1(buf);
>>   #define DO16(buf) DO4(buf); DO4(buf); DO4(buf); DO4(buf);
>>   +#if FF_API_CRYPTO_SIZE_T
>>   unsigned long av_adler32_update(unsigned long adler, const uint8_t *
>> buf,
>>                                   unsigned int len)
>> +#else
>> +AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf, size_t len)
>> +#endif
>>   {
>>       unsigned long s1 = adler & 0xffff;
>>       unsigned long s2 = adler >> 16;
>> diff --git a/libavutil/adler32.h b/libavutil/adler32.h
>> index a1f035b734..e7a8f83729 100644
>> --- a/libavutil/adler32.h
>> +++ b/libavutil/adler32.h
>> @@ -27,8 +27,10 @@
>>   #ifndef AVUTIL_ADLER32_H
>>   #define AVUTIL_ADLER32_H
>>   +#include <stddef.h>
>>   #include <stdint.h>
>>   #include "attributes.h"
>> +#include "version.h"
>>     /**
>>    * @defgroup lavu_adler32 Adler-32
>> @@ -38,6 +40,12 @@
>>    * @{
>>    */
>>   +#if FF_API_CRYPTO_SIZE_T
>> +typedef unsigned long AVAdler;
>> +#else
>> +typedef uint32_t AVAdler;
> 
> This typedef should be mentioned as added in the APIChanges entry.
> 

Will do and apply patches 1-2 and 6.

>> +#endif
>> +
>>   /**
>>    * Calculate the Adler32 checksum of a buffer.
>>    *
>> @@ -50,8 +58,12 @@
>>    * @param len   size of input buffer
>>    * @return      updated checksum
>>    */
>> -unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
>> -                                unsigned int len) av_pure;
>> +AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf,
>> +#if FF_API_CRYPTO_SIZE_T
>> +                          unsigned int len) av_pure;
>> +#else
>> +                          size_t len) av_pure;
>> +#endif
>>     /**
>>    * @}
>> diff --git a/libavutil/version.h b/libavutil/version.h
>> index 9a290d57e7..f357f6165e 100644
>> --- a/libavutil/version.h
>> +++ b/libavutil/version.h
>> @@ -79,7 +79,7 @@
>>    */
>>     #define LIBAVUTIL_VERSION_MAJOR  56
>> -#define LIBAVUTIL_VERSION_MINOR  68
>> +#define LIBAVUTIL_VERSION_MINOR  69
>>   #define LIBAVUTIL_VERSION_MICRO 100
>>     #define LIBAVUTIL_VERSION_INT  
>> AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
>>
> 
> _______________________________________________
> 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".
diff mbox series

Patch

diff --git a/doc/APIchanges b/doc/APIchanges
index 849d95a7ed..1782ae83fe 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,11 @@  libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2021-03-18 - xxxxxxxxxx - lavu 56.69.100 - adler32.h
+  av_adler32_update() will be changed to use uint32_t
+  for the Adler-32 checksums and size_t for the length
+  if the input buffer at the next bump.
+
 2021-03-xx - xxxxxxxxxx - lavc 58.133.100 - codec.h
   Deprecated av_init_packet(). Once removed, sizeof(AVPacket) will
   no longer be a part of the public ABI.
diff --git a/libavutil/adler32.c b/libavutil/adler32.c
index c87d5e261c..5ed5ff55a3 100644
--- a/libavutil/adler32.c
+++ b/libavutil/adler32.c
@@ -41,8 +41,12 @@ 
 #define DO4(buf)  DO1(buf); DO1(buf); DO1(buf); DO1(buf);
 #define DO16(buf) DO4(buf); DO4(buf); DO4(buf); DO4(buf);
 
+#if FF_API_CRYPTO_SIZE_T
 unsigned long av_adler32_update(unsigned long adler, const uint8_t * buf,
                                 unsigned int len)
+#else
+AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf, size_t len)
+#endif
 {
     unsigned long s1 = adler & 0xffff;
     unsigned long s2 = adler >> 16;
diff --git a/libavutil/adler32.h b/libavutil/adler32.h
index a1f035b734..e7a8f83729 100644
--- a/libavutil/adler32.h
+++ b/libavutil/adler32.h
@@ -27,8 +27,10 @@ 
 #ifndef AVUTIL_ADLER32_H
 #define AVUTIL_ADLER32_H
 
+#include <stddef.h>
 #include <stdint.h>
 #include "attributes.h"
+#include "version.h"
 
 /**
  * @defgroup lavu_adler32 Adler-32
@@ -38,6 +40,12 @@ 
  * @{
  */
 
+#if FF_API_CRYPTO_SIZE_T
+typedef unsigned long AVAdler;
+#else
+typedef uint32_t AVAdler;
+#endif
+
 /**
  * Calculate the Adler32 checksum of a buffer.
  *
@@ -50,8 +58,12 @@ 
  * @param len   size of input buffer
  * @return      updated checksum
  */
-unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
-                                unsigned int len) av_pure;
+AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf,
+#if FF_API_CRYPTO_SIZE_T
+                          unsigned int len) av_pure;
+#else
+                          size_t len) av_pure;
+#endif
 
 /**
  * @}
diff --git a/libavutil/version.h b/libavutil/version.h
index 9a290d57e7..f357f6165e 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@ 
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  56
-#define LIBAVUTIL_VERSION_MINOR  68
+#define LIBAVUTIL_VERSION_MINOR  69
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \