Reject empty audio payloads in data URLs (#44070)

Return `AudioPreparationError::InvalidDataUrl` with the reason
`audio payload is empty` when the decoded base64 payload is empty.

GitOrigin-RevId: e886dab5f49ebb1a363dbc1c292813b2b52698d4
This commit is contained in:
Jennifer Zhao
2026-09-09 05:56:45 +00:00
committed by copyberry
parent f45115a137
commit 129fd21687
+5
View File
@@ -246,6 +246,11 @@ fn prepare_audio(audio_url: &mut String) -> Result<(), AudioPreparationError> {
.map_err(|_| AudioPreparationError::InvalidDataUrl {
reason: "invalid base64 payload",
})?;
if bytes.is_empty() {
return Err(AudioPreparationError::InvalidDataUrl {
reason: "audio payload is empty",
});
}
if bytes.len() > MAX_PROMPT_AUDIO_INPUT_BYTES {
return Err(AudioPreparationError::AudioTooLarge { size: bytes.len() });
}