From: Dodji Seketeli Date: Fri, 24 Mar 2023 10:18:22 +0000 (+0100) Subject: Bug 29690 - Out of range exception in add_or_update_class_type X-Git-Tag: upstream/2.3~34 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0ddd051c27023f0ee21d6199517c40f4ab1a8c6a;p=platform%2Fupstream%2Flibabigail.git Bug 29690 - Out of range exception in add_or_update_class_type 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 --- diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index d842d25b..37367dba 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -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;