Lines Matching refs:SVal

132                     ProgramStateRef state, SVal V, QualType Ty);
136 SVal strLength);
137 static SVal getCStringLengthForRegion(CheckerContext &C,
142 SVal getCStringLength(CheckerContext &C,
145 SVal Buf,
151 SVal val) const;
155 const Expr *Ex, SVal V,
162 static bool memsetAux(const Expr *DstBuffer, SVal CharE,
170 SVal l) const;
174 SVal l,
229 REGISTER_MAP_WITH_PROGRAMSTATE(CStringLength, const MemRegion *, SVal) in REGISTER_MAP_WITH_PROGRAMSTATE() argument
236 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef state, SVal V, in REGISTER_MAP_WITH_PROGRAMSTATE()
249 const Expr *S, SVal l) const { in checkNonNull()
277 const Expr *S, SVal l, in CheckLocation()
298 SVal Extent = in CheckLocation()
355 SVal BufVal = C.getSVal(FirstBuf); in CheckBufferAccess()
367 SVal LengthVal = C.getSVal(Size); in CheckBufferAccess()
374 SVal Offset = svalBuilder.evalBinOpNN(state, BO_Sub, *Length, One, sizeTy); in CheckBufferAccess()
380 SVal BufStart = svalBuilder.evalCast(BufVal, PtrTy, FirstBuf->getType()); in CheckBufferAccess()
384 SVal BufEnd = svalBuilder.evalBinOpLN(state, BO_Add, *BufLoc, in CheckBufferAccess()
404 SVal BufEnd = svalBuilder.evalBinOpLN(state, BO_Add, *BufLoc, in CheckBufferAccess()
434 SVal firstVal = state->getSVal(First, LCtx); in CheckOverlap()
435 SVal secondVal = state->getSVal(Second, LCtx); in CheckOverlap()
462 SVal reverse = svalBuilder.evalBinOpLL(state, BO_GT, in CheckOverlap()
484 SVal LengthVal = state->getSVal(Size, LCtx); in CheckOverlap()
493 SVal FirstStart = svalBuilder.evalCast(*firstLoc, CharPtrTy, in CheckOverlap()
500 SVal FirstEnd = svalBuilder.evalBinOpLN(state, BO_Add, in CheckOverlap()
507 SVal Overlap = svalBuilder.evalBinOpLL(state, BO_GT, in CheckOverlap()
640 SVal maxMinusRight; in checkAdditionOverflow()
655 SVal willOverflow = svalBuilder.evalBinOpNN(state, BO_GT, left, in checkAdditionOverflow()
678 SVal strLength) { in setCStringLength()
716 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C, in getCStringLengthForRegion()
723 const SVal *Recorded = state->get<CStringLength>(MR); in getCStringLengthForRegion()
731 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(), in getCStringLengthForRegion()
745 SVal evalLength = svalBuilder.evalBinOpNN(state, BO_LE, *strLn, in getCStringLengthForRegion()
755 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state, in getCStringLength()
756 const Expr *Ex, SVal Buf, in getCStringLength()
830 ProgramStateRef &state, const Expr *expr, SVal val) const { in getCStringLiteral()
864 SVal BufVal = state->getSVal(FirstBuf, LCtx); in IsFirstBufInBound()
866 SVal LengthVal = state->getSVal(Size, LCtx); in IsFirstBufInBound()
873 SVal Offset = svalBuilder.evalBinOpNN(state, BO_Sub, *Length, One, sizeTy); in IsFirstBufInBound()
879 SVal BufStart = svalBuilder.evalCast(BufVal, PtrTy, FirstBuf->getType()); in IsFirstBufInBound()
884 SVal BufEnd = in IsFirstBufInBound()
903 SVal Extent = in IsFirstBufInBound()
917 const Expr *E, SVal V, in InvalidateBuffer()
1009 bool CStringChecker::memsetAux(const Expr *DstBuffer, SVal CharVal, in memsetAux()
1012 SVal MemVal = C.getSVal(DstBuffer); in memsetAux()
1013 SVal SizeVal = C.getSVal(Size); in memsetAux()
1075 SVal NewStrLen = svalBuilder.getMetadataSymbolVal( in memsetAux()
1081 SVal NewStrLenGESize = svalBuilder.evalBinOp( in memsetAux()
1111 SVal sizeVal = state->getSVal(Size, LCtx); in evalCopyCommon()
1119 SVal destVal = state->getSVal(Dest, LCtx); in evalCopyCommon()
1140 SVal srcVal = state->getSVal(Source, LCtx); in evalCopyCommon()
1166 SVal DestRegCharVal = in evalCopyCommon()
1168 SVal lastElement = C.getSValBuilder().evalBinOp( in evalCopyCommon()
1264 SVal sizeVal = state->getSVal(Size, LCtx); in evalMemcmp()
1315 SVal CmpV = svalBuilder.conjureSymbolVal(nullptr, CE, LCtx, in evalMemcmp()
1350 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1359 SVal zero = C.getSValBuilder().makeZeroVal(CE->getType()); in evalstrLengthCommon()
1374 SVal ArgVal = state->getSVal(Arg, LCtx); in evalstrLengthCommon()
1381 SVal strLength = getCStringLength(C, state, Arg, ArgVal); in evalstrLengthCommon()
1398 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1549 SVal DstVal = state->getSVal(Dst, LCtx); in evalStrcpyCommon()
1557 SVal srcVal = state->getSVal(srcExpr, LCtx); in evalStrcpyCommon()
1563 SVal strLength = getCStringLength(C, state, srcExpr, srcVal); in evalStrcpyCommon()
1576 SVal amountCopied = UnknownVal(); in evalStrcpyCommon()
1577 SVal maxLastElementIndex = UnknownVal(); in evalStrcpyCommon()
1589 SVal lenVal = state->getSVal(lenExpr, LCtx); in evalStrcpyCommon()
1630 SVal dstStrLength = getCStringLength(C, state, Dst, DstVal); in evalStrcpyCommon()
1690 SVal copiedLessThanBound = svalBuilder.evalBinOpNN(state, BO_LE, in evalStrcpyCommon()
1702 SVal copiedLessThanSrc = svalBuilder.evalBinOpNN(state, BO_LE, in evalStrcpyCommon()
1725 SVal finalStrLength = UnknownVal(); in evalStrcpyCommon()
1733 SVal dstStrLength = getCStringLength(C, state, Dst, DstVal); in evalStrcpyCommon()
1762 SVal sourceInResult = svalBuilder.evalBinOpNN(state, BO_GE, in evalStrcpyCommon()
1774 SVal destInResult = svalBuilder.evalBinOpNN(state, BO_GE, in evalStrcpyCommon()
1792 SVal Result; in evalStrcpyCommon()
1814 SVal maxLastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal, in evalStrcpyCommon()
1825 SVal lastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal, in evalStrcpyCommon()
1925 SVal s1Val = state->getSVal(s1, LCtx); in evalStrcmpCommon()
1932 SVal s2Val = state->getSVal(s2, LCtx); in evalStrcmpCommon()
1938 SVal s1Length = getCStringLength(C, state, s1, s1Val); in evalStrcmpCommon()
1943 SVal s2Length = getCStringLength(C, state, s2, s2Val); in evalStrcmpCommon()
1981 SVal resultVal = svalBuilder.conjureSymbolVal(nullptr, CE, LCtx, in evalStrcmpCommon()
1991 SVal lenVal = state->getSVal(lenExpr, LCtx); in evalStrcmpCommon()
2029 SVal compareWithZero = in evalStrcmpCommon()
2062 SVal SearchStrVal = State->getSVal(SearchStrPtr, LCtx); in evalStrsep()
2069 SVal DelimStrVal = State->getSVal(DelimStr, LCtx); in evalStrsep()
2075 SVal Result; in evalStrsep()
2131 SVal DstVal = State->getSVal(Dst, LCtx); in evalStdCopyCommon()
2137 SVal ResultVal = SVB.conjureSymbolVal(nullptr, CE, LCtx, C.blockCount()); in evalStdCopyCommon()
2156 SVal SizeVal = State->getSVal(Size, LCtx); in evalMemset()
2164 SVal MemVal = State->getSVal(Mem, LCtx); in evalMemset()
2202 SVal Zero = C.getSValBuilder().makeZeroVal(C.getASTContext().IntTy); in evalBzero()
2207 SVal SizeVal = C.getSVal(Size); in evalBzero()
2222 SVal MemVal = C.getSVal(Mem); in evalBzero()
2378 SVal StrVal = C.getSVal(Init); in checkPreStmt()
2450 SVal Len = I.getData(); in checkLiveSymbols()
2468 SVal Len = I.getData(); in checkDeadSymbols()