aboutsummaryrefslogtreecommitdiff
path: root/src/midi_sequencer_impl.hpp
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2019-12-02 20:46:38 +0300
committerWohlstand <admin@wohlnet.ru>2019-12-02 20:46:38 +0300
commit84af1cde8d624100b4396173688743368db64b58 (patch)
treeb888752d082798a0539c1d6cf1b2340481b8f4eb /src/midi_sequencer_impl.hpp
parentd21b27084532dca78f07ff87f578330f7c6f9755 (diff)
downloadlibADLMIDI-84af1cde8d624100b4396173688743368db64b58.tar.gz
libADLMIDI-84af1cde8d624100b4396173688743368db64b58.tar.bz2
libADLMIDI-84af1cde8d624100b4396173688743368db64b58.zip
MidiSequencer: Fixed possible UTF16 string length checking problems
Diffstat (limited to 'src/midi_sequencer_impl.hpp')
-rw-r--r--src/midi_sequencer_impl.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/midi_sequencer_impl.hpp b/src/midi_sequencer_impl.hpp
index 4dc3013..ef4a3de 100644
--- a/src/midi_sequencer_impl.hpp
+++ b/src/midi_sequencer_impl.hpp
@@ -1265,12 +1265,14 @@ BW_MidiSequencer::MidiEvent BW_MidiSequencer::parseEvent(const uint8_t **pptr, c
if(m_musCopyright.empty())
{
m_musCopyright = std::string((const char *)evt.data.data(), evt.data.size());
+ m_musCopyright.push_back('\0'); /* ending fix for UTF16 strings */
if(m_interface->onDebugMessage)
m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Music copyright: %s", m_musCopyright.c_str());
}
else if(m_interface->onDebugMessage)
{
std::string str((const char *)evt.data.data(), evt.data.size());
+ str.push_back('\0'); /* ending fix for UTF16 strings */
m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Extra copyright event: %s", str.c_str());
}
}
@@ -1279,12 +1281,14 @@ BW_MidiSequencer::MidiEvent BW_MidiSequencer::parseEvent(const uint8_t **pptr, c
if(m_musTitle.empty())
{
m_musTitle = std::string((const char *)evt.data.data(), evt.data.size());
+ m_musTitle.push_back('\0'); /* ending fix for UTF16 strings */
if(m_interface->onDebugMessage)
m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Music title: %s", m_musTitle.c_str());
}
else
{
std::string str((const char *)evt.data.data(), evt.data.size());
+ str.push_back('\0'); /* ending fix for UTF16 strings */
m_musTrackTitles.push_back(str);
if(m_interface->onDebugMessage)
m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Track title: %s", str.c_str());
@@ -1295,6 +1299,7 @@ BW_MidiSequencer::MidiEvent BW_MidiSequencer::parseEvent(const uint8_t **pptr, c
if(m_interface->onDebugMessage)
{
std::string str((const char *)evt.data.data(), evt.data.size());
+ str.push_back('\0'); /* ending fix for UTF16 strings */
m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Instrument: %s", str.c_str());
}
}