* [FFmpeg-devel] [PATCH] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX
@ 2022-04-05 13:37 Martijn van Beurden
2022-04-05 16:04 ` Andreas Rheinhardt
2022-04-06 7:12 ` Martijn van Beurden
0 siblings, 2 replies; 6+ messages in thread
From: Martijn van Beurden @ 2022-04-05 13:37 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Martijn van Beurden
---
libavcodec/flacdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
index dd6026f9de..cb32d7cae8 100644
--- a/libavcodec/flacdec.c
+++ b/libavcodec/flacdec.c
@@ -260,7 +260,7 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
for (; i < samples; i++)
*decoded++ = get_sbits_long(&gb, tmp);
} else {
- int real_limit = tmp ? (INT_MAX >> tmp) + 2 : INT_MAX;
+ int real_limit = (tmp > 1) ? (INT_MAX >> (tmp - 1)) + 2 : INT_MAX;
for (; i < samples; i++) {
int v = get_sr_golomb_flac(&gb, tmp, real_limit, 1);
if (v == 0x80000000){
--
2.30.2
_______________________________________________
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] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX
2022-04-05 13:37 [FFmpeg-devel] [PATCH] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX Martijn van Beurden
@ 2022-04-05 16:04 ` Andreas Rheinhardt
2022-04-05 16:26 ` Martijn van Beurden
2022-04-06 7:12 ` Martijn van Beurden
1 sibling, 1 reply; 6+ messages in thread
From: Andreas Rheinhardt @ 2022-04-05 16:04 UTC (permalink / raw)
To: ffmpeg-devel
Martijn van Beurden:
> ---
> libavcodec/flacdec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
> index dd6026f9de..cb32d7cae8 100644
> --- a/libavcodec/flacdec.c
> +++ b/libavcodec/flacdec.c
> @@ -260,7 +260,7 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
> for (; i < samples; i++)
> *decoded++ = get_sbits_long(&gb, tmp);
> } else {
> - int real_limit = tmp ? (INT_MAX >> tmp) + 2 : INT_MAX;
> + int real_limit = (tmp > 1) ? (INT_MAX >> (tmp - 1)) + 2 : INT_MAX;
> for (; i < samples; i++) {
> int v = get_sr_golomb_flac(&gb, tmp, real_limit, 1);
> if (v == 0x80000000){
Wouldn't it be possible to use unsigned for real_limit?
- Andreas
_______________________________________________
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] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX
2022-04-05 16:04 ` Andreas Rheinhardt
@ 2022-04-05 16:26 ` Martijn van Beurden
0 siblings, 0 replies; 6+ messages in thread
From: Martijn van Beurden @ 2022-04-05 16:26 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Op di 5 apr. 2022 18:04 schreef Andreas Rheinhardt <
andreas.rheinhardt@outlook.com>:
>
> Wouldn't it be possible to use unsigned for real_limit?
>
The limit is passed to get_ur_golomb_jpegls which takes int. In that
function, the limit is subtracted from, and the function is used by quite a
few other codecs, so changing it seems risky.
Besides creating a cleaner flacdec.c, it wouldn't achieve much either. For
tmp = 0 or tmp = 1, reaching this limit means the file contains a INT_MAX
or INT_MAX/2 unary coded, so a single symbol of either 2GiB or 1GiB in size.
>
_______________________________________________
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] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX
2022-04-05 13:37 [FFmpeg-devel] [PATCH] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX Martijn van Beurden
2022-04-05 16:04 ` Andreas Rheinhardt
@ 2022-04-06 7:12 ` Martijn van Beurden
2022-04-29 14:48 ` Martijn van Beurden
1 sibling, 1 reply; 6+ messages in thread
From: Martijn van Beurden @ 2022-04-06 7:12 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Op di 5 apr. 2022 om 15:37 schreef Martijn van Beurden <mvanb1@gmail.com>:
>
> ---
> libavcodec/flacdec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
> index dd6026f9de..cb32d7cae8 100644
> --- a/libavcodec/flacdec.c
> +++ b/libavcodec/flacdec.c
> @@ -260,7 +260,7 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
> for (; i < samples; i++)
> *decoded++ = get_sbits_long(&gb, tmp);
> } else {
> - int real_limit = tmp ? (INT_MAX >> tmp) + 2 : INT_MAX;
> + int real_limit = (tmp > 1) ? (INT_MAX >> (tmp - 1)) + 2 : INT_MAX;
> for (; i < samples; i++) {
> int v = get_sr_golomb_flac(&gb, tmp, real_limit, 1);
> if (v == 0x80000000){
> --
> 2.30.2
>
A file needing this patch to decode properly can be found here:
https://github.com/ktmf01/flac-test-files/blob/main/subset/63%20-%20predictor%20overflow%20check%2C%2024-bit.flac
Kind regards, Martijn van Beurden
_______________________________________________
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] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX
2022-04-06 7:12 ` Martijn van Beurden
@ 2022-04-29 14:48 ` Martijn van Beurden
2022-04-30 19:26 ` Michael Niedermayer
0 siblings, 1 reply; 6+ messages in thread
From: Martijn van Beurden @ 2022-04-29 14:48 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Op wo 6 apr. 2022 om 09:12 schreef Martijn van Beurden <mvanb1@gmail.com>:
>
> Op di 5 apr. 2022 om 15:37 schreef Martijn van Beurden <mvanb1@gmail.com>:
> >
> > ---
> > libavcodec/flacdec.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
> > index dd6026f9de..cb32d7cae8 100644
> > --- a/libavcodec/flacdec.c
> > +++ b/libavcodec/flacdec.c
> > @@ -260,7 +260,7 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
> > for (; i < samples; i++)
> > *decoded++ = get_sbits_long(&gb, tmp);
> > } else {
> > - int real_limit = tmp ? (INT_MAX >> tmp) + 2 : INT_MAX;
> > + int real_limit = (tmp > 1) ? (INT_MAX >> (tmp - 1)) + 2 : INT_MAX;
> > for (; i < samples; i++) {
> > int v = get_sr_golomb_flac(&gb, tmp, real_limit, 1);
> > if (v == 0x80000000){
> > --
> > 2.30.2
> >
>
> A file needing this patch to decode properly can be found here:
> https://github.com/ktmf01/flac-test-files/blob/main/subset/63%20-%20predictor%20overflow%20check%2C%2024-bit.flac
>
> Kind regards, Martijn van Beurden
Hereby I'd like to once more bring this patch to the attention of the
mailinglist.
_______________________________________________
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] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX
2022-04-29 14:48 ` Martijn van Beurden
@ 2022-04-30 19:26 ` Michael Niedermayer
0 siblings, 0 replies; 6+ messages in thread
From: Michael Niedermayer @ 2022-04-30 19:26 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 1725 bytes --]
On Fri, Apr 29, 2022 at 04:48:23PM +0200, Martijn van Beurden wrote:
> Op wo 6 apr. 2022 om 09:12 schreef Martijn van Beurden <mvanb1@gmail.com>:
> >
> > Op di 5 apr. 2022 om 15:37 schreef Martijn van Beurden <mvanb1@gmail.com>:
> > >
> > > ---
> > > libavcodec/flacdec.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
> > > index dd6026f9de..cb32d7cae8 100644
> > > --- a/libavcodec/flacdec.c
> > > +++ b/libavcodec/flacdec.c
> > > @@ -260,7 +260,7 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
> > > for (; i < samples; i++)
> > > *decoded++ = get_sbits_long(&gb, tmp);
> > > } else {
> > > - int real_limit = tmp ? (INT_MAX >> tmp) + 2 : INT_MAX;
> > > + int real_limit = (tmp > 1) ? (INT_MAX >> (tmp - 1)) + 2 : INT_MAX;
> > > for (; i < samples; i++) {
> > > int v = get_sr_golomb_flac(&gb, tmp, real_limit, 1);
> > > if (v == 0x80000000){
> > > --
> > > 2.30.2
> > >
> >
> > A file needing this patch to decode properly can be found here:
> > https://github.com/ktmf01/flac-test-files/blob/main/subset/63%20-%20predictor%20overflow%20check%2C%2024-bit.flac
> >
> > Kind regards, Martijn van Beurden
>
> Hereby I'd like to once more bring this patch to the attention of the
> mailinglist.
will apply
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Take away the freedom of one citizen and you will be jailed, take away
the freedom of all citizens and you will be congratulated by your peers
in Parliament.
[-- 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
end of thread, other threads:[~2022-04-30 19:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-05 13:37 [FFmpeg-devel] [PATCH] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX Martijn van Beurden
2022-04-05 16:04 ` Andreas Rheinhardt
2022-04-05 16:26 ` Martijn van Beurden
2022-04-06 7:12 ` Martijn van Beurden
2022-04-29 14:48 ` Martijn van Beurden
2022-04-30 19:26 ` Michael Niedermayer
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