Add a missing Invalid check to SubobjectDesignator::isOnePastEnd()
authorReid Kleckner <reid@kleckner.net>
Wed, 23 Jul 2014 23:24:25 +0000 (23:24 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 23 Jul 2014 23:24:25 +0000 (23:24 +0000)
commit142dd46c2a3d820abbb021225b61c9f13633deff
tree917c3e4b96959767ba2b8589885ce6335b72b00a
parentedc60376edcc86bbfac132306581b10f3948af69
Add a missing Invalid check to SubobjectDesignator::isOnePastEnd()

The class seems to have an invariant that Entries is non-empty if
Invalid is false.  It appears this method was previously private, and
all internal uses checked Invalid.  Now there is an external caller, so
check Invalid to avoid array OOB underflow.

Fixes PR20420.

llvm-svn: 213816
clang/lib/AST/ExprConstant.cpp
clang/test/SemaCXX/warn-global-constructors.cpp