Lines Matching refs:SVal
227 ProgramStateRef state, SVal V, QualType Ty);
231 SVal strLength);
232 static SVal getCStringLengthForRegion(CheckerContext &C,
237 SVal getCStringLength(CheckerContext &C,
240 SVal Buf,
246 SVal val) const;
251 const Expr *BufE, SVal BufV, SVal SizeV,
256 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV);
261 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV);
266 const Expr *BufE, SVal BufV);
272 CheckerContext &C, ProgramStateRef State, const Expr *Ex, SVal V,
280 static bool memsetAux(const Expr *DstBuffer, SVal CharE,
286 AnyArgExpr Arg, SVal l) const;
288 AnyArgExpr Buffer, SVal Element,
322 SVal BufVal, QualType BufTy, SVal LengthVal,
328 REGISTER_MAP_WITH_PROGRAMSTATE(CStringLength, const MemRegion *, SVal) in REGISTER_MAP_WITH_PROGRAMSTATE() argument
335 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef state, SVal V, in REGISTER_MAP_WITH_PROGRAMSTATE()
348 AnyArgExpr Arg, SVal l) const { in checkNonNull()
379 AnyArgExpr Buffer, SVal Element, in CheckLocation()
415 SVal Offset = svalBuilder.evalBinOpNN(state, BO_Mul, Idx, WideSize, SizeTy); in CheckLocation()
471 SVal BufVal = C.getSVal(Buffer.Expression); in CheckBufferAccess()
480 SVal BufStart = in CheckBufferAccess()
491 SVal LengthVal = C.getSVal(Size.Expression); in CheckBufferAccess()
498 SVal Offset = svalBuilder.evalBinOpNN(State, BO_Sub, *Length, One, SizeTy); in CheckBufferAccess()
506 SVal BufEnd = in CheckBufferAccess()
544 SVal firstVal = state->getSVal(First.Expression, LCtx); in CheckOverlap()
545 SVal secondVal = state->getSVal(Second.Expression, LCtx); in CheckOverlap()
572 SVal reverse = in CheckOverlap()
594 SVal LengthVal = state->getSVal(Size.Expression, LCtx); in CheckOverlap()
603 SVal FirstStart = in CheckOverlap()
610 SVal FirstEnd = svalBuilder.evalBinOpLN(state, BO_Add, *FirstStartLoc, in CheckOverlap()
617 SVal Overlap = in CheckOverlap()
775 SVal maxMinusRight; in checkAdditionOverflow()
790 SVal willOverflow = svalBuilder.evalBinOpNN(state, BO_GT, left, in checkAdditionOverflow()
813 SVal strLength) { in setCStringLength()
852 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C, in getCStringLengthForRegion()
859 const SVal *Recorded = state->get<CStringLength>(MR); in getCStringLengthForRegion()
867 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(), in getCStringLengthForRegion()
881 SVal evalLength = svalBuilder.evalBinOpNN(state, BO_LE, *strLn, maxLength, in getCStringLengthForRegion()
891 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state, in getCStringLength()
892 const Expr *Ex, SVal Buf, in getCStringLength()
981 ProgramStateRef &state, const Expr *expr, SVal val) const { in getCStringLiteral()
1001 SVal BufVal, QualType BufTy, in isFirstBufInBound()
1002 SVal LengthVal, QualType LengthTy) { in isFirstBufInBound()
1022 SVal Offset = SB.evalBinOpNN(State, BO_Sub, *Length, One, LengthTy); in isFirstBufInBound()
1028 SVal BufStart = SB.evalCast(BufVal, PtrTy, BufTy); in isFirstBufInBound()
1033 SVal BufEnd = SB.evalBinOpLN(State, BO_Add, *BufLoc, LastOffset, PtrTy); in isFirstBufInBound()
1062 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV, in invalidateDestinationBufferBySize()
1063 SVal SizeV, QualType SizeTy) { in invalidateDestinationBufferBySize()
1083 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV) { in invalidateDestinationBufferAlwaysEscapeSuperRegion()
1093 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV) { in invalidateDestinationBufferNeverOverflows()
1109 SVal BufV) { in invalidateSourceBuffer()
1124 CheckerContext &C, ProgramStateRef State, const Expr *E, SVal V, in invalidateBufferAux()
1200 bool CStringChecker::memsetAux(const Expr *DstBuffer, SVal CharVal, in memsetAux()
1203 SVal MemVal = C.getSVal(DstBuffer); in memsetAux()
1204 SVal SizeVal = C.getSVal(Size); in memsetAux()
1265 SVal NewStrLen = svalBuilder.getMetadataSymbolVal( in memsetAux()
1271 SVal NewStrLenGESize = svalBuilder.evalBinOp( in memsetAux()
1300 SVal sizeVal = state->getSVal(Size.Expression, LCtx); in evalCopyCommon()
1308 SVal destVal = state->getSVal(Dest.Expression, LCtx); in evalCopyCommon()
1330 SVal srcVal = state->getSVal(Source.Expression, LCtx); in evalCopyCommon()
1355 SVal DestRegCharVal = in evalCopyCommon()
1357 SVal lastElement = C.getSValBuilder().evalBinOp( in evalCopyCommon()
1461 SVal sizeVal = State->getSVal(Size.Expression, LCtx); in evalMemcmp()
1513 SVal CmpV = Builder.conjureSymbolVal(nullptr, Call.getOriginExpr(), LCtx, in evalMemcmp()
1542 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1551 SVal zero = C.getSValBuilder().makeZeroVal(Call.getResultType()); in evalstrLengthCommon()
1566 SVal ArgVal = state->getSVal(Arg.Expression, LCtx); in evalstrLengthCommon()
1572 SVal strLength = getCStringLength(C, state, Arg.Expression, ArgVal); in evalstrLengthCommon()
1589 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1733 SVal DstVal = state->getSVal(Dst.Expression, LCtx); in evalStrcpyCommon()
1740 SVal srcVal = state->getSVal(srcExpr.Expression, LCtx); in evalStrcpyCommon()
1746 SVal strLength = getCStringLength(C, state, srcExpr.Expression, srcVal); in evalStrcpyCommon()
1750 SVal dstStrLength = getCStringLength(C, state, Dst.Expression, DstVal); in evalStrcpyCommon()
1764 SVal amountCopied = UnknownVal(); in evalStrcpyCommon()
1765 SVal maxLastElementIndex = UnknownVal(); in evalStrcpyCommon()
1784 SVal lenVal = state->getSVal(lenExpr.Expression, LCtx); in evalStrcpyCommon()
1825 SVal freeSpace = svalBuilder.evalBinOpNN(state, BO_Sub, *lenValNL, in evalStrcpyCommon()
1838 SVal hasEnoughSpace = svalBuilder.evalBinOpNN( in evalStrcpyCommon()
1906 SVal retSize = svalBuilder.evalBinOp( in evalStrcpyCommon()
1938 SVal finalStrLength = UnknownVal(); in evalStrcpyCommon()
1939 SVal strlRetVal = UnknownVal(); in evalStrcpyCommon()
1987 SVal sourceInResult = svalBuilder.evalBinOpNN( in evalStrcpyCommon()
1998 SVal destInResult = svalBuilder.evalBinOpNN(state, BO_GE, in evalStrcpyCommon()
2016 SVal Result; in evalStrcpyCommon()
2041 SVal maxLastElement = in evalStrcpyCommon()
2056 SVal lastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal, in evalStrcpyCommon()
2150 SVal LeftVal = state->getSVal(Left.Expression, LCtx); in evalStrcmpCommon()
2157 SVal RightVal = state->getSVal(Right.Expression, LCtx); in evalStrcmpCommon()
2163 SVal LeftLength = getCStringLength(C, state, Left.Expression, LeftVal); in evalStrcmpCommon()
2168 SVal RightLength = getCStringLength(C, state, Right.Expression, RightVal); in evalStrcmpCommon()
2209 SVal resultVal = svalBuilder.conjureSymbolVal(nullptr, Call.getOriginExpr(), in evalStrcmpCommon()
2219 SVal lenVal = state->getSVal(lenExpr, LCtx); in evalStrcmpCommon()
2257 SVal compareWithZero = in evalStrcmpCommon()
2289 SVal SearchStrVal = State->getSVal(SearchStrPtr.Expression, LCtx); in evalStrsep()
2296 SVal DelimStrVal = State->getSVal(DelimStr.Expression, LCtx); in evalStrsep()
2302 SVal Result; in evalStrsep()
2359 SVal DstVal = State->getSVal(Dst, LCtx); in evalStdCopyCommon()
2367 SVal ResultVal = in evalStdCopyCommon()
2387 SVal SizeVal = C.getSVal(Size.Expression); in evalMemset()
2394 SVal BufferPtrVal = C.getSVal(Buffer.Expression); in evalMemset()
2430 SVal Zero = C.getSValBuilder().makeZeroVal(C.getASTContext().IntTy); in evalBzero()
2435 SVal SizeVal = C.getSVal(Size.Expression); in evalBzero()
2450 SVal MemVal = C.getSVal(Buffer.Expression); in evalBzero()
2599 SVal StrVal = C.getSVal(Init); in checkPreStmt()
2664 for (SVal Len : llvm::make_second_range(Entries)) { in checkLiveSymbols()