diff options
author | Jan Holthuis <jholthuis@mixxx.org> | 2022-01-15 11:59:59 +0100 |
---|---|---|
committer | Jan Holthuis <jholthuis@mixxx.org> | 2022-01-15 12:38:01 +0100 |
commit | 35d104e1f67f32a1bcc40497e402c9dbfbbe16c2 (patch) | |
tree | 10fda4707dcd7acec4946b40c5ebaa2a99739475 | |
parent | f76fe15607909b727ac40bc5067f35e13456b40f (diff) |
SeratoMarkers(2): Cast size to quint32 during serialization
In Qt >= 6.0, the return value of QList::size() and QByteArray::length()
is qsizetype (which may be 8 bytes on 64 bit platforms) instead of a
regular 4 byte int. We add a typecast to quint32 to ensure that the size
is always serialized correctly.
-rw-r--r-- | src/track/serato/markers.cpp | 4 | ||||
-rw-r--r-- | src/track/serato/markers2.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/track/serato/markers.cpp b/src/track/serato/markers.cpp index eda52ff80a..7cf933b5cb 100644 --- a/src/track/serato/markers.cpp +++ b/src/track/serato/markers.cpp @@ -569,7 +569,7 @@ QByteArray SeratoMarkers::dumpID3() const { QDataStream stream(&data, QIODevice::WriteOnly); stream.setByteOrder(QDataStream::BigEndian); - stream << kVersion << m_entries.size(); + stream << kVersion << static_cast<quint32>(m_entries.size()); for (int i = 0; i < m_entries.size(); i++) { SeratoMarkersEntryPointer pEntry = m_entries.at(i); stream.writeRawData(pEntry->dumpID3(), kEntrySizeID3); @@ -593,7 +593,7 @@ QByteArray SeratoMarkers::dumpMP4() const { stream.setByteOrder(QDataStream::BigEndian); stream.writeRawData(kSeratoMarkersBase64EncodedPrefix.constData(), kSeratoMarkersBase64EncodedPrefix.length()); - stream << kVersion << m_entries.size(); + stream << kVersion << static_cast<quint32>(m_entries.size()); for (int i = 0; i < m_entries.size(); i++) { SeratoMarkersEntryPointer pEntry = m_entries.at(i); stream.writeRawData(pEntry->dumpMP4(), kEntrySizeMP4); diff --git a/src/track/serato/markers2.cpp b/src/track/serato/markers2.cpp index 550c1bc906..07b4a62566 100644 --- a/src/track/serato/markers2.cpp +++ b/src/track/serato/markers2.cpp @@ -537,7 +537,7 @@ QByteArray SeratoMarkers2::dumpCommon() const { QByteArray entryData = entry->dump(); stream.writeRawData(entryName.constData(), entryName.length()); stream << static_cast<quint8>('\x00') // terminating null-byte - << entryData.length(); + << static_cast<quint32>(entryData.length()); stream.writeRawData(entryData.constData(), entryData.length()); } data.append('\0'); @@ -767,7 +767,7 @@ QByteArray SeratoMarkers2::dumpBase64Encoded() const { QByteArray entryData = entry->dump(); stream.writeRawData(entryName.constData(), entryName.length()); stream << static_cast<quint8>(0x00) // terminating null-byte - << entryData.length(); + << static_cast<quint32>(entryData.length()); stream.writeRawData(entryData.constData(), entryData.length()); } innerData.append('\0'); |