Bug 29690 - Out of range exception in add_or_update_class_type
authorDodji Seketeli <dodji@redhat.com>
Fri, 24 Mar 2023 10:18:22 +0000 (11:18 +0100)
committerDodji Seketeli <dodji@redhat.com>
Fri, 24 Mar 2023 17:34:20 +0000 (18:34 +0100)
This was triggered by doing:

    $ fedabipkgdiff  --self-compare -a --from fc37 amg4psblas-mpich

* src/abg-dwarf-reader.cc (add_or_update_class_type): Make sure
the array is big enough.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
src/abg-dwarf-reader.cc

index d842d25b53866b99171f558114e8cffcbf4901f5..37367dbaf54bd7ad5bc9512a68bce57975c97b5d 100644 (file)
@@ -13075,6 +13075,7 @@ add_or_update_class_type(reader&         rdr,
              /// "_vptr[^0-9a-zA-Z_]", which is what Clang and GCC
              /// use as a name for the hidden vtable pointer.
              if (n.substr(0, 5) == "_vptr"
+                 && n.size() > 5
                  && !std::isalnum(n.at(5))
                  && n.at(5) != '_')
                continue;