diff options
-rw-r--r-- | tools/target_dec_fuzzer.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c index d987aecd21..d4b9f419de 100644 --- a/tools/target_dec_fuzzer.c +++ b/tools/target_dec_fuzzer.c @@ -352,6 +352,13 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (ctx->codec_type != AVMEDIA_TYPE_SUBTITLE) { int ret = avcodec_send_packet(ctx, &avpkt); decode_more = ret >= 0; + if(!decode_more) { + ec_pixels += (ctx->width + 32LL) * (ctx->height + 32LL); + if (it > 20 || ec_pixels > 4 * ctx->max_pixels) + ctx->error_concealment = 0; + if (ec_pixels > maxpixels) + goto maximums_reached; + } } else decode_more = 1; |