Skip to content

Commit 58e3afb

Browse files
committed
fixing potential overflow problem in KTX2 header parser
1 parent b71d417 commit 58e3afb

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

transcoder/basisu_transcoder.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19606,7 +19606,7 @@ namespace basist
1960619606
return false;
1960719607
}
1960819608

19609-
if (((m_header.m_dfd_byte_offset + m_header.m_dfd_byte_length) > m_data_size) || (m_header.m_dfd_byte_offset < sizeof(ktx2_header)))
19609+
if (((m_header.m_dfd_byte_offset.get_uint64() + m_header.m_dfd_byte_length.get_uint64()) > m_data_size) || (m_header.m_dfd_byte_offset < sizeof(ktx2_header)))
1961019610
{
1961119611
BASISU_DEVEL_ERROR("ktx2_transcoder::init: Invalid DFD offset and/or length\n");
1961219612
return false;
@@ -20627,7 +20627,7 @@ namespace basist
2062720627
return false;
2062820628
}
2062920629

20630-
if ((m_header.m_kvd_byte_offset + m_header.m_kvd_byte_length) > m_data_size)
20630+
if ((m_header.m_kvd_byte_offset.get_uint64() + m_header.m_kvd_byte_length.get_uint64()) > m_data_size)
2063120631
{
2063220632
BASISU_DEVEL_ERROR("ktx2_transcoder::read_key_values: Invalid KVD byte offset and/or length\n");
2063320633
return false;

0 commit comments

Comments
 (0)