From ac8714dd64b1aff7cf4a44113d5b694882df48c1 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Fri, 28 Feb 2025 00:27:10 -0500 Subject: [PATCH] [BugFix] vorbis.c metadata invalid index when album art b64 is NULL Change-Id: I9d08c2e2c903c00d0b2fd25e0dceea28113874a2 --- lib/rbcodec/metadata/vorbis.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/rbcodec/metadata/vorbis.c b/lib/rbcodec/metadata/vorbis.c index db2215b594..31235dbae3 100644 --- a/lib/rbcodec/metadata/vorbis.c +++ b/lib/rbcodec/metadata/vorbis.c @@ -327,7 +327,14 @@ size_t base64_decode(const char *in, size_t in_len, unsigned char *out) break; } - val = (val << 6) | b64_codes[in[i] - B64_START_CHAR]; + int index = in[i] - B64_START_CHAR; + if (index < 0 || index >= (int)ARRAYLEN(b64_codes)) + { + out[len] = '\0'; + break; + } + + val = (val << 6) | b64_codes[index]; if ((++i & 3) == 0) {