[BOLT][NFC] Remove C-style out of bounds array ref
authorRafael Auler <rafaelauler@fb.com>
Wed, 25 Jan 2023 19:38:07 +0000 (11:38 -0800)
committerRafael Auler <rafaelauler@fb.com>
Wed, 25 Jan 2023 20:59:11 +0000 (12:59 -0800)
Old code breaks build with libstdc++ with assertions. Fix it.

bolt/lib/Core/JumpTable.cpp

index 2b1035d..65e1032 100644 (file)
@@ -70,12 +70,10 @@ bool bolt::JumpTable::replaceDestination(uint64_t JTAddress,
                                          MCSymbol *NewDest) {
   bool Patched = false;
   const std::pair<size_t, size_t> Range = getEntriesForAddress(JTAddress);
-  for (auto I = &Entries[Range.first], E = &Entries[Range.second]; I != E;
-       ++I) {
-    MCSymbol *&Entry = *I;
-    if (Entry == OldDest) {
+  for (auto I = Range.first; I != Range.second; ++I) {
+    if (Entries[I] == OldDest) {
       Patched = true;
-      Entry = NewDest;
+      Entries[I] = NewDest;
     }
   }
   return Patched;