libavutil/base64: Try not to write over the array end

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2d216566f2)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2024-05-11 03:13:17 +02:00
parent 682b002d15
commit ef80220f32
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64
1 changed files with 4 additions and 2 deletions

View File

@ -120,10 +120,12 @@ int av_base64_decode(uint8_t *out, const char *in_str, int out_size)
}
out3:
*dst++ = v >> 10;
if (end - dst)
*dst++ = v >> 10;
v <<= 2;
out2:
*dst++ = v >> 4;
if (end - dst)
*dst++ = v >> 4;
out1:
out0:
return bits & 1 ? AVERROR_INVALIDDATA : dst - out;