summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/target_dec_fuzzer.c7
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;