libFLAC : Put upper bound on number of seek points.
authorErik de Castro Lopo <erikd@mega-nerd.com>
Wed, 18 Feb 2015 06:55:52 +0000 (17:55 +1100)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Tue, 17 Feb 2015 23:13:53 +0000 (10:13 +1100)
commit033af7bf1cd035772a199d07342038619c019993
treee78ad81306b9859df84b6e4b63061529bd59ab62
parentc06a44969c1145242a22f75fc8fb2e8b54c55303
libFLAC : Put upper bound on number of seek points.

Restrict number of seek points to 32768 total and a maximum of two per
second.

Ten hours of content is 36000 seconds which gives about one seek point
for every second for those ten hours. Also, having more than two seek
point per second makes little sense regardless of content length.

Without these restrictions flac-to-flac encoding of a malformed input
file (eg something generated with http://lcamtuf.coredump.cx/afl/)
can result in an attempt to generate a stupidly large number of seek
points and cause an allocation failure.
src/libFLAC/metadata_object.c
src/share/grabbag/seektable.c