Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value
@ 2024-07-20  0:52 Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 02/11] avcodec/proresdec: Consider negative bits left Michael Niedermayer
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

(the exact issue is unreproducable but the use of uninitialized data is reproducable)

Should fix: signed integer overflow: -2147483648 - 127 cannot be represented in type 'int'
Should fix: 69881/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALS_fuzzer-4751301204836352

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/alsdec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index be72994432e..f4f67917d76 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -2110,8 +2110,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
 
     if (sconf->floating) {
         ctx->acf               = av_malloc_array(channels, sizeof(*ctx->acf));
-        ctx->shift_value       = av_malloc_array(channels, sizeof(*ctx->shift_value));
-        ctx->last_shift_value  = av_malloc_array(channels, sizeof(*ctx->last_shift_value));
+        ctx->shift_value       = av_calloc(channels, sizeof(*ctx->shift_value));
+        ctx->last_shift_value  = av_calloc(channels, sizeof(*ctx->last_shift_value));
         ctx->last_acf_mantissa = av_malloc_array(channels, sizeof(*ctx->last_acf_mantissa));
         ctx->raw_mantissa      = av_calloc(channels, sizeof(*ctx->raw_mantissa));
 
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 02/11] avcodec/proresdec: Consider negative bits left
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 03/11] avcodec/hevc/hevcdec: avoid signed shifts with lt_idx_sps Michael Niedermayer
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: 70036/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PRORES_fuzzer-6298797647396864
Fixes: shift exponent 40 is too large for 32-bit type 'uint32_t' (aka 'unsigned int')

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/proresdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/proresdec.c b/libavcodec/proresdec.c
index ec1d0bd0be9..6a256107b49 100644
--- a/libavcodec/proresdec.c
+++ b/libavcodec/proresdec.c
@@ -511,7 +511,7 @@ static av_always_inline int decode_ac_coeffs(AVCodecContext *avctx, GetBitContex
 
     for (pos = block_mask;;) {
         bits_left = gb->size_in_bits - re_index;
-        if (!bits_left || (bits_left < 32 && !SHOW_UBITS(re, gb, bits_left)))
+        if (bits_left <= 0 || (bits_left < 32 && !SHOW_UBITS(re, gb, bits_left)))
             break;
 
         DECODE_CODEWORD(run, run_to_cb[FFMIN(run,  15)], LAST_SKIP_BITS);
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 03/11] avcodec/hevc/hevcdec: avoid signed shifts with lt_idx_sps
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 02/11] avcodec/proresdec: Consider negative bits left Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 04/11] avcodec/aac/aacdec_usac: Dont leave invalid max_sfb in the context Michael Niedermayer
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: left shift of 1 by 31 places cannot be represented in type 'int'
Fixes: 70122/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5172200613675008

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/hevc/hevcdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 0e4b26dad3b..7e0db79d16b 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -292,7 +292,7 @@ static int decode_lt_rps(const HEVCSPS *sps, LongTermRPS *rps,
                 lt_idx_sps = get_bits(gb, av_ceil_log2(sps->num_long_term_ref_pics_sps));
 
             rps->poc[i]  = sps->lt_ref_pic_poc_lsb_sps[lt_idx_sps];
-            rps->used[i] = !!(sps->used_by_curr_pic_lt & (1 << lt_idx_sps));
+            rps->used[i] = !!(sps->used_by_curr_pic_lt & (1U << lt_idx_sps));
         } else {
             rps->poc[i]  = get_bits(gb, sps->log2_max_poc_lsb);
             rps->used[i] = get_bits1(gb);
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 04/11] avcodec/aac/aacdec_usac: Dont leave invalid max_sfb in the context
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 02/11] avcodec/proresdec: Consider negative bits left Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 03/11] avcodec/hevc/hevcdec: avoid signed shifts with lt_idx_sps Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 05/11] avcodec/aac/aacdec_lpd: Check kv indec Michael Niedermayer
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: out of array read
Fixes: 70363/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_LATM_fuzzer-6723855293415424.fuzz

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/aac/aacdec_usac.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/aac/aacdec_usac.c b/libavcodec/aac/aacdec_usac.c
index 32b3c534bf1..1b79d19a30f 100644
--- a/libavcodec/aac/aacdec_usac.c
+++ b/libavcodec/aac/aacdec_usac.c
@@ -834,6 +834,7 @@ static int setup_sce(AACDecContext *ac, SingleChannelElement *sce,
                "Number of scalefactor bands in group (%d) "
                "exceeds limit (%d).\n",
                ics->max_sfb, ics->num_swb);
+        ics->max_sfb = 0;
         return AVERROR(EINVAL);
     }
 
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 05/11] avcodec/aac/aacdec_lpd: Check kv indec
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (2 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 04/11] avcodec/aac/aacdec_usac: Dont leave invalid max_sfb in the context Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 06/11] avcodec/vaapi_encode: Check hwctx Michael Niedermayer
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: index 9 out of bounds for type 'uint32_t [8][8]'
Fixes: 70363/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_LATM_fuzzer-6723855293415424.fuzz

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/aac/aacdec_lpd.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/aac/aacdec_lpd.c b/libavcodec/aac/aacdec_lpd.c
index 91a32688895..20bbb007ff3 100644
--- a/libavcodec/aac/aacdec_lpd.c
+++ b/libavcodec/aac/aacdec_lpd.c
@@ -130,6 +130,9 @@ int ff_aac_parse_fac_data(AACUsacElemData *ce, GetBitContext *gb,
     if (use_gain)
         ce->fac.gain = get_bits(gb, 7);
 
+    if (len/8 > 8)
+        return AVERROR_PATCHWELCOME;
+
     for (int i = 0; i < len/8; i++) {
         ret = parse_codebook_idx(gb, ce->fac.kv[i], 1, 1);
         if (ret < 0)
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 06/11] avcodec/vaapi_encode: Check hwctx
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (3 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 05/11] avcodec/aac/aacdec_lpd: Check kv indec Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 07/11] avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter() Michael Niedermayer
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: null pointer dereference
Fixes: 70376/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_VAAPI_fuzzer-4733551250046976

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/vaapi_encode.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index 48ca0187758..afdf3fe3d8c 100644
--- a/libavcodec/vaapi_encode.c
+++ b/libavcodec/vaapi_encode.c
@@ -2307,12 +2307,14 @@ av_cold int ff_vaapi_encode_close(AVCodecContext *avctx)
     ff_refstruct_pool_uninit(&ctx->output_buffer_pool);
 
     if (ctx->va_context != VA_INVALID_ID) {
-        vaDestroyContext(ctx->hwctx->display, ctx->va_context);
+        if (ctx->hwctx)
+            vaDestroyContext(ctx->hwctx->display, ctx->va_context);
         ctx->va_context = VA_INVALID_ID;
     }
 
     if (ctx->va_config != VA_INVALID_ID) {
-        vaDestroyConfig(ctx->hwctx->display, ctx->va_config);
+        if (ctx->hwctx)
+            vaDestroyConfig(ctx->hwctx->display, ctx->va_config);
         ctx->va_config = VA_INVALID_ID;
     }
 
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 07/11] avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter()
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (4 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 06/11] avcodec/vaapi_encode: Check hwctx Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 08/11] avcodec/osq: fix integer overflow when applying factor Michael Niedermayer
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: 2.96539e+09 is outside the range of representable values of type 'int'
Fixes: Assertion n>=0 && n<=32 failed at libavcodec/get_bits.h:423
Fixes: 62241/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OSQ_fuzzer-4525761925873664
Fixes: 70406/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OSQ_fuzzer-6545326804434944

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/osq.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/libavcodec/osq.c b/libavcodec/osq.c
index 1bd4485f074..42a46b25ce5 100644
--- a/libavcodec/osq.c
+++ b/libavcodec/osq.c
@@ -161,11 +161,15 @@ static int update_residue_parameter(OSQChannel *cb)
 
     sum = cb->sum;
     x = sum / cb->count;
-    rice_k = av_ceil_log2(x);
+    rice_k = ceil(log2(x));
     if (rice_k >= 30) {
-        rice_k = floor(sum / 1.4426952 + 0.5);
-        if (rice_k < 1)
+        double f = floor(sum / 1.4426952 + 0.5);
+        if (f <= 1) {
             rice_k = 1;
+        } else if (f >= 31) {
+            rice_k = 31;
+        } else
+            rice_k = f;
     }
 
     return rice_k;
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 08/11] avcodec/osq: fix integer overflow when applying factor
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (5 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 07/11] avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter() Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 09/11] avcodec/cfhdenc: Allocate more space Michael Niedermayer
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: signed integer overflow: -35511773 * 256 cannot be represented in type 'int'
Fixes: 70406/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OSQ_fuzzer-6545326804434944

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/osq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/osq.c b/libavcodec/osq.c
index 42a46b25ce5..4e921896c0d 100644
--- a/libavcodec/osq.c
+++ b/libavcodec/osq.c
@@ -356,7 +356,7 @@ static int osq_decode_block(AVCodecContext *avctx, AVFrame *frame)
     const int nb_channels = avctx->ch_layout.nb_channels;
     const int nb_samples = frame->nb_samples;
     OSQContext *s = avctx->priv_data;
-    const int factor = s->factor;
+    const unsigned factor = s->factor;
     int ret, decorrelate, downsample;
     GetBitContext *gb = &s->gb;
 
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 09/11] avcodec/cfhdenc: Allocate more space
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (6 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 08/11] avcodec/osq: fix integer overflow when applying factor Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 10/11] avcodec/cfhdenc: Height of 16 is not supported Michael Niedermayer
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: Assertion failure
Fixes: 68979/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5375874714107904

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/cfhdenc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libavcodec/cfhdenc.c b/libavcodec/cfhdenc.c
index 5657d0f96c5..09fb2bd743d 100644
--- a/libavcodec/cfhdenc.c
+++ b/libavcodec/cfhdenc.c
@@ -552,7 +552,7 @@ static int cfhd_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
                          width, height * 2);
     }
 
-    ret = ff_alloc_packet(avctx, pkt, 256LL + s->planes * (2LL * avctx->width * (avctx->height + 15) + 2048LL));
+    ret = ff_alloc_packet(avctx, pkt, 256LL + s->planes * (4LL * avctx->width * (avctx->height + 15) + 2048LL));
     if (ret < 0)
         return ret;
 
@@ -760,7 +760,6 @@ static int cfhd_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
                         } else if (count > 0) {
                             count = put_runcode(pb, count, rb);
                         }
-
                         put_bits(pb, cb[index].size, cb[index].bits);
                     }
 
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 10/11] avcodec/cfhdenc: Height of 16 is not supported
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (7 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 09/11] avcodec/cfhdenc: Allocate more space Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 11/11] avcodec/hdrenc: Allocate more space Michael Niedermayer
  2024-07-23 18:37 ` [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Fixes: out of array access
Fixes: 68941/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5990952685600768

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/cfhdenc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/cfhdenc.c b/libavcodec/cfhdenc.c
index 09fb2bd743d..7084509f6e1 100644
--- a/libavcodec/cfhdenc.c
+++ b/libavcodec/cfhdenc.c
@@ -257,8 +257,8 @@ static av_cold int cfhd_encode_init(AVCodecContext *avctx)
     if (ret < 0)
         return ret;
 
-    if (avctx->height < 4) {
-        av_log(avctx, AV_LOG_ERROR, "Height must be >= 4.\n");
+    if (avctx->height < 32) {
+        av_log(avctx, AV_LOG_ERROR, "Height must be >= 32.\n");
         return AVERROR_INVALIDDATA;
     }
 
-- 
2.45.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] 12+ messages in thread

* [FFmpeg-devel] [PATCH 11/11] avcodec/hdrenc: Allocate more space
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (8 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 10/11] avcodec/cfhdenc: Height of 16 is not supported Michael Niedermayer
@ 2024-07-20  0:52 ` Michael Niedermayer
  2024-07-23 18:37 ` [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-20  0:52 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

This needs to be double checked or a checking way of writing should be used

Fixes: out of array access
Fixes: 70007/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HDR_fuzzer-5478704150020096

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/hdrenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/hdrenc.c b/libavcodec/hdrenc.c
index 20e42134bc8..a7bf36946db 100644
--- a/libavcodec/hdrenc.c
+++ b/libavcodec/hdrenc.c
@@ -124,7 +124,7 @@ static int hdr_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     uint8_t *buf;
     int ret;
 
-    packet_size = avctx->width * avctx->height * 4LL + 1024LL;
+    packet_size = avctx->height * 4LL + avctx->width * avctx->height * 8LL + 1024LL;
     if ((ret = ff_get_encode_buffer(avctx, pkt, packet_size, 0)) < 0)
         return ret;
 
-- 
2.45.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] 12+ messages in thread

* Re: [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value
  2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
                   ` (9 preceding siblings ...)
  2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 11/11] avcodec/hdrenc: Allocate more space Michael Niedermayer
@ 2024-07-23 18:37 ` Michael Niedermayer
  10 siblings, 0 replies; 12+ messages in thread
From: Michael Niedermayer @ 2024-07-23 18:37 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


[-- Attachment #1.1: Type: text/plain, Size: 844 bytes --]

On Sat, Jul 20, 2024 at 02:52:31AM +0200, Michael Niedermayer wrote:
> (the exact issue is unreproducable but the use of uninitialized data is reproducable)
> 
> Should fix: signed integer overflow: -2147483648 - 127 cannot be represented in type 'int'
> Should fix: 69881/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALS_fuzzer-4751301204836352
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/alsdec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

will apply patchset

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 

[-- 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] 12+ messages in thread

end of thread, other threads:[~2024-07-23 18:37 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-20  0:52 [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 02/11] avcodec/proresdec: Consider negative bits left Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 03/11] avcodec/hevc/hevcdec: avoid signed shifts with lt_idx_sps Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 04/11] avcodec/aac/aacdec_usac: Dont leave invalid max_sfb in the context Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 05/11] avcodec/aac/aacdec_lpd: Check kv indec Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 06/11] avcodec/vaapi_encode: Check hwctx Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 07/11] avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter() Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 08/11] avcodec/osq: fix integer overflow when applying factor Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 09/11] avcodec/cfhdenc: Allocate more space Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 10/11] avcodec/cfhdenc: Height of 16 is not supported Michael Niedermayer
2024-07-20  0:52 ` [FFmpeg-devel] [PATCH 11/11] avcodec/hdrenc: Allocate more space Michael Niedermayer
2024-07-23 18:37 ` [FFmpeg-devel] [PATCH 01/11] avcodec/alsdec: Clear shift_value 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