Fix buffer overflow in FBX::Util::DecodeBase64()
parent
a63a6011c5
commit
f701d702e4
|
@ -155,7 +155,7 @@ size_t DecodeBase64(const char* in, size_t inLength, uint8_t* out, size_t maxOut
|
||||||
const size_t realLength = inLength - size_t(in[inLength - 1] == '=') - size_t(in[inLength - 2] == '=');
|
const size_t realLength = inLength - size_t(in[inLength - 1] == '=') - size_t(in[inLength - 2] == '=');
|
||||||
size_t dst_offset = 0;
|
size_t dst_offset = 0;
|
||||||
int val = 0, valb = -8;
|
int val = 0, valb = -8;
|
||||||
for (size_t src_offset = 0; src_offset < realLength; ++src_offset)
|
for (size_t src_offset = 0; src_offset < realLength && dst_offset < maxOutLength; ++src_offset)
|
||||||
{
|
{
|
||||||
const uint8_t table_value = Util::DecodeBase64(in[src_offset]);
|
const uint8_t table_value = Util::DecodeBase64(in[src_offset]);
|
||||||
if (table_value == 255)
|
if (table_value == 255)
|
||||||
|
|
Loading…
Reference in New Issue