mirror of https://github.com/xiph/flac
Work around i386 ASAN null pointer bug
For some reason, i386 ASAN does not copy a pointer somewhere in the code. Using gdb I get a mention of a synthetic pointer, so perhaps the compiler instrumented with ASAN thinks this pointer isn't used. Anyway, commit adds a check for that null pointer which isn't necessary otherwise and is only activated for i386 ASAN. Credit: Oss-Fuzz Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=58524
This commit is contained in:
parent
215d1aa633
commit
33b9a4a765
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue