Fix another failing assertion with MSVC's STL in debug mode
authorSimon Hausmann <simon.hausmann@digia.com>
Thu, 27 Jun 2013 10:19:50 +0000 (12:19 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 27 Jun 2013 12:23:28 +0000 (14:23 +0200)
Try to avoid derefencing an empty vector, even when the result is not used.

Change-Id: I8a8d8363f42dc3cea8ee702dc8555494b67a165d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/3rdparty/masm/yarr/YarrJIT.cpp

index d36cd95..fd05d81 100644 (file)
@@ -212,7 +212,7 @@ class YarrGenerator : private MacroAssembler {
         if (charClass->m_ranges.size()) {
             unsigned matchIndex = 0;
             JumpList failures;
-            matchCharacterClassRange(character, failures, matchDest, &charClass->m_ranges[0], charClass->m_ranges.size(), &matchIndex, &charClass->m_matches[0], charClass->m_matches.size());
+            matchCharacterClassRange(character, failures, matchDest, &charClass->m_ranges[0], charClass->m_ranges.size(), &matchIndex, charClass->m_matches.isEmpty() ? 0 : &charClass->m_matches[0], charClass->m_matches.size());
             while (matchIndex < charClass->m_matches.size())
                 matchDest.append(branch32(Equal, character, Imm32((unsigned short)charClass->m_matches[matchIndex++])));