lvqcl <lvqcl.m...@gmail.com> wrote: > There are two functions: > > static void > vorbiscomment_entry_array_delete_(FLAC__StreamMetadata_VorbisComment_Entry > *object_array, unsigned num_comments); > > and > > static void > cuesheet_track_array_delete_(FLAC__StreamMetadata_CueSheet_Track > *object_array, unsigned num_tracks); > > > which first dereference object_array and only then check it for NULL: > > free(object_array[i].indices); > ... > ... > if(0 != object_array) > free(object_array); > > Currently the condition "if(0 != object_array)" is not necessary because > libFLAC > always checks the first argument of these static functions before calling > them.
Another example is in static_metadata_clear() in src\flac\encode.c: for(i = 0; i < m->num_metadata; i++) if(m->needs_delete[i]) FLAC__metadata_object_delete(m->metadata[i]); if(m->metadata) free(m->metadata); if(m->needs_delete) free(m->needs_delete); Here m->metadata and m->needs_delete were first dereferenced and then (unnecessarily) checked against NULL. _______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev