handle cases where order isn't a multiple of dimension

loop around vorbis_book_decodev_set() didn't support a case where
info->order wasn't an integer multple of dimension.

vorbis_book_decodev_set() is now updated to handle the loop inside
with appropriate checks added.

Other functions vorbis_book_decode_*() have appropriate checks where
they are called. So added a comment for those.

This fix is similar to the one in Xiph tremor project's
commit 80661a13c93a01f25b8df4e89fecad0eee69ddcc

Bug: 199065614
Test: clusterfuzz generated poc in bug
Test: atest VorbisDecoderTest -- --enable-module-dynamic-download=true
Test: atest VtsHalMediaC2V1_0TargetAudioDecTest
Test: atest CtsMediaV2TestCases -- --module-arg  CtsMediaV2TestCases:\

Change-Id: Ibb94e7fc361e843caad7f7620229377dc1f8dd73
2 files changed