Author: Reid Kleckner Date: 2021-01-19T11:15:02-08:00 New Revision: e678656625a3e2b6a5f2849f4a6f7612ceeaed07
URL: https://github.com/llvm/llvm-project/commit/e678656625a3e2b6a5f2849f4a6f7612ceeaed07 DIFF: https://github.com/llvm/llvm-project/commit/e678656625a3e2b6a5f2849f4a6f7612ceeaed07.diff LOG: Add bounds checking assertions to APValue, NFC These checks help find llvm.org/pr48582 without ASan Added: Modified: clang/include/clang/AST/APValue.h Removed: ################################################################################ diff --git a/clang/include/clang/AST/APValue.h b/clang/include/clang/AST/APValue.h index f9b189926c76..5f4ac02f53c9 100644 --- a/clang/include/clang/AST/APValue.h +++ b/clang/include/clang/AST/APValue.h @@ -537,10 +537,12 @@ class APValue { } APValue &getStructBase(unsigned i) { assert(isStruct() && "Invalid accessor"); + assert(i < getStructNumBases() && "base class index OOB"); return ((StructData *)(char *)&Data)->Elts[i]; } APValue &getStructField(unsigned i) { assert(isStruct() && "Invalid accessor"); + assert(i < getStructNumFields() && "field index OOB"); return ((StructData *)(char *)&Data)->Elts[getStructNumBases() + i]; } const APValue &getStructBase(unsigned i) const { _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits