Fix: Bug 10798 - [analyzer] Crash when analyzing ICU. (A slight improvement on the previous commit.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138762 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anna Zaks 2011-08-29 20:43:37 +00:00
Родитель 5c96f862b7
Коммит 8b6eb7ce4f
2 изменённых файлов: 12 добавлений и 1 удалений

Просмотреть файл

@ -203,7 +203,7 @@ static SymbolRef getSymbolForRegion(CheckerContext &C,
// region, if that is the case, get the underlining region.
if (const ElementRegion *ER = dyn_cast<ElementRegion>(R)) {
R = ER->getAsArrayOffset().getRegion();
if (!isa<SymbolicRegion>(R))
if (!R || !isa<SymbolicRegion>(R))
return 0;
} else
return 0;

Просмотреть файл

@ -310,3 +310,14 @@ __inline__ static
const char *__WBASLLevelString(int level) {
return "foo";
}
static int *bug10798(int *p, int columns, int prevRow) {
int *row = 0;
row = p + prevRow * columns;
prevRow += 2;
do {
++prevRow;
row+=columns;
} while(10 >= row[1]);
return row;
}