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 | expand |
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 |
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, \ >
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 --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, \
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(-)