flac: Error out if decoding RAW with bits != (8|16|24)

Suggested by Christopher Key.

Closes: https://sourceforge.net/p/flac/patches/43/
diff --git a/src/flac/decode.c b/src/flac/decode.c
index 10d4a34..3a6997b 100644
--- a/src/flac/decode.c
+++ b/src/flac/decode.c
@@ -1344,6 +1344,12 @@
 			decoder_session->total_samples -= (metadata->data.stream_info.total_samples - until);
 		}
 
+		if(decoder_session->format == FORMAT_RAW && ((decoder_session->bps % 8) != 0  || decoder_session->bps < 4 || decoder_session->bps > 24)) {
+			flac__utils_printf(stderr, 1, "%s: ERROR: bits per sample is %u, must be 8/16/24 for raw format output\n", decoder_session->inbasefilename, decoder_session->bps);
+			decoder_session->abort_flag = true;
+			return;
+		}
+
 		if(decoder_session->bps < 4 || decoder_session->bps > 24) {
 			flac__utils_printf(stderr, 1, "%s: ERROR: bits per sample is %u, must be 4-24\n", decoder_session->inbasefilename, decoder_session->bps);
 			decoder_session->abort_flag = true;