From 034262c518d49a4b38bd31112df8f78c13ea0c31 Mon Sep 17 00:00:00 2001 From: "Stephen F. Booth" Date: Sun, 17 Dec 2023 17:13:56 -0600 Subject: [PATCH] Fix implicit conversions This commit does not address any potential mishandling of 64-bit header sizes --- taglib/xm/xmfile.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/taglib/xm/xmfile.cpp b/taglib/xm/xmfile.cpp index c6d50529..12cabaee 100644 --- a/taglib/xm/xmfile.cpp +++ b/taglib/xm/xmfile.cpp @@ -443,7 +443,7 @@ bool XM::File::save() return false; seek(pos + 4); - const unsigned int len = std::min(22UL, instrumentHeaderSize - 4U); + const auto len = std::min(22UL, instrumentHeaderSize - 4); if(i >= lines.size()) writeString(String(), len); else @@ -474,7 +474,7 @@ bool XM::File::save() if(sampleHeaderSize > 18U) { seek(pos + 18); - const unsigned int sz = std::min(sampleHeaderSize - 18U, 22UL); + const auto sz = std::min(sampleHeaderSize - 18, 22UL); if(sampleNameIndex >= lines.size()) writeString(String(), sz); else @@ -528,8 +528,8 @@ void XM::File::read(bool) .u16L(tempo) .u16L(bpmSpeed); - unsigned int count = header.read(*this, headerSize - 4U); - unsigned int size = std::min(headerSize - 4U, static_cast(header.size())); + unsigned int count = header.read(*this, static_cast(headerSize - 4)); + unsigned int size = std::min(static_cast(headerSize - 4), header.size()); READ_ASSERT(count == size); @@ -555,7 +555,7 @@ void XM::File::read(bool) StructReader pattern; pattern.byte(packingType).u16L(rowCount).u16L(dataSize); - unsigned int ptCnt = pattern.read(*this, patternHeaderLength - 4U); + unsigned int ptCnt = pattern.read(*this, static_cast(patternHeaderLength - 4)); READ_ASSERT(ptCnt == std::min(patternHeaderLength - 4U, static_cast(pattern.size()))); @@ -579,7 +579,7 @@ void XM::File::read(bool) instrument.string(instrumentName, 22).byte(instrumentType).u16L(sampleCount); // 4 for instrumentHeaderSize - unsigned int inCnt = 4 + instrument.read(*this, instrumentHeaderSize - 4U); + unsigned int inCnt = 4 + instrument.read(*this, static_cast(instrumentHeaderSize - 4)); READ_ASSERT(inCnt == std::min(instrumentHeaderSize, static_cast(instrument.size() + 4))); @@ -615,7 +615,7 @@ void XM::File::read(bool) .byte(compression) .string(sampleName, 22); - unsigned int smCnt = sample.read(*this, sampleHeaderSize); + unsigned int smCnt = sample.read(*this, static_cast(sampleHeaderSize)); READ_ASSERT(smCnt == std::min(sampleHeaderSize, static_cast(sample.size()))); // skip unhandled header proportion: