diff --git a/src/flac/encode.c b/src/flac/encode.c index ce21eaaa..1622e3d5 100644 --- a/src/flac/encode.c +++ b/src/flac/encode.c @@ -1635,6 +1635,12 @@ static void static_metadata_clear(static_metadata_t *m) static FLAC__bool static_metadata_append(static_metadata_t *m, FLAC__StreamMetadata *d, FLAC__bool needs_delete) { void *x; +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +#ifdef __i386__ +/* Work around i386 ASAN bug */ + if(0 == d) return true; +#endif +#endif if(0 == (x = safe_realloc_nofree_muladd2_(m->metadata, sizeof(*m->metadata), /*times (*/m->num_metadata, /*+*/1/*)*/))) return false; m->metadata = (FLAC__StreamMetadata**)x;