From 129fd21687fbd4ac48133b7abfdcaf52cb6cb01f Mon Sep 17 00:00:00 2001 From: Jennifer Zhao Date: Wed, 9 Sep 2026 05:47:49 +0000 Subject: [PATCH] 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 --- codex-rs/utils/audio/src/lib.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/codex-rs/utils/audio/src/lib.rs b/codex-rs/utils/audio/src/lib.rs index a68db32878..53567952e0 100644 --- a/codex-rs/utils/audio/src/lib.rs +++ b/codex-rs/utils/audio/src/lib.rs @@ -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() }); }