diff options
author | Martijn van Beurden <mvanb1@gmail.com> | 2022-08-12 16:30:23 +0200 |
---|---|---|
committer | Martijn van Beurden <mvanb1@gmail.com> | 2022-08-20 16:03:53 +0200 |
commit | c65483e2c20d1e9503ed9cebbdb3280b0ce1c3aa (patch) | |
tree | 134a27fd986c25094a90dffdfa5cfcff55db7b3c /oss-fuzz | |
parent | fbb6cb5c075d24ce35ccad6ca18f9cbbdb4e3d3f (diff) | |
download | flac-c65483e2c20d1e9503ed9cebbdb3280b0ce1c3aa.tar.gz |
Do not memset when allocation fails
Also remove some nearby unused code
Diffstat (limited to 'oss-fuzz')
-rw-r--r-- | oss-fuzz/fuzzer_encoder_v2.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/oss-fuzz/fuzzer_encoder_v2.cc b/oss-fuzz/fuzzer_encoder_v2.cc index b00bc623..9300a1f0 100644 --- a/oss-fuzz/fuzzer_encoder_v2.cc +++ b/oss-fuzz/fuzzer_encoder_v2.cc @@ -166,7 +166,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) } /* Disable alloc check if requested */ - if(data_bools[14]) + if(encoder_valid && data_bools[14]) alloc_check_threshold = INT32_MAX; /* data_bools[15] are spare */ @@ -286,7 +286,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) state == FLAC__STREAM_ENCODER_UNINITIALIZED || state == FLAC__STREAM_ENCODER_CLIENT_ERROR || ((state == FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR || - state == FLAC__STREAM_ENCODER_FRAMING_ERROR) && + state == FLAC__STREAM_ENCODER_FRAMING_ERROR || + (state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR && + FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR)) && alloc_check_threshold < INT32_MAX))) { fprintf(stderr,"-----\nERROR: stream encoder returned %s\n-----\n",FLAC__stream_encoder_get_resolved_state_string(encoder)); if(state == FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) { |