mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
libFLAC/format.c: Fix undefined behaviour
In the case where seek_table->num_points is zero, seek_table->points will be NULL and passing that to qsort() invokes undefined behaviour. Since seek_table->num_points is zero, the only sensible thing to do is to short circuit return 0.
This commit is contained in:
@@ -275,6 +275,9 @@ FLAC_API unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *se
|
||||
|
||||
FLAC__ASSERT(0 != seek_table);
|
||||
|
||||
if (seek_table->num_points == 0)
|
||||
return 0;
|
||||
|
||||
/* sort the seekpoints */
|
||||
qsort(seek_table->points, seek_table->num_points, sizeof(FLAC__StreamMetadata_SeekPoint), (int (*)(const void *, const void *))seekpoint_compare_);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user