flac/Fix-format-ending-up-with-wrong-subformat.patch
2024-12-10 09:48:20 +08:00

36 lines
1.2 KiB
Diff

From df57d1d6b009e8044938390b21599d2910f867ea Mon Sep 17 00:00:00 2001
From: Martijn van Beurden <mvanb1@gmail.com>
Date: Tue, 5 Mar 2024 14:28:26 +0100
Subject: [PATCH] Fix format ending up with wrong subformat
It was possible the format was taken from foreign metadata and the
subformat from command-line options.
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=63790
---
src/flac/main.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/flac/main.c b/src/flac/main.c
index d57ad9ccaa..46a2dcc742 100644
--- a/src/flac/main.c
+++ b/src/flac/main.c
@@ -2192,10 +2192,14 @@ int decode_file(const char *infilename)
output_format = FORMAT_WAVE;
/* Now do subformats */
- if(option_values.force_legacy_wave_format)
+ if(option_values.force_legacy_wave_format) {
+ output_format = FORMAT_WAVE;
output_subformat = SUBFORMAT_WAVE_PCM;
- else if(option_values.force_extensible_wave_format)
+ }
+ else if(option_values.force_extensible_wave_format) {
+ output_format = FORMAT_WAVE;
output_subformat = SUBFORMAT_WAVE_EXTENSIBLE;
+ }
else if(option_values.force_aiff_c_none_format) {
output_format = FORMAT_AIFF_C;
output_subformat = SUBFORMAT_AIFF_C_NONE;