Lines Matching refs:SVal
251 ProgramStateRef state, SVal V, QualType Ty);
255 SVal strLength);
256 static SVal getCStringLengthForRegion(CheckerContext &C,
261 SVal getCStringLength(CheckerContext &C,
264 SVal Buf,
270 SVal val) const;
275 const Expr *BufE, SVal BufV, SVal SizeV,
280 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV);
285 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV);
290 const Expr *BufE, SVal BufV);
296 CheckerContext &C, ProgramStateRef State, const Expr *Ex, SVal V,
304 static bool memsetAux(const Expr *DstBuffer, SVal CharE,
310 AnyArgExpr Arg, SVal l) const;
314 AnyArgExpr Buffer, SVal Element, SVal Size) const;
316 AnyArgExpr Buffer, SVal Element,
350 SVal BufVal, QualType BufTy, SVal LengthVal,
356 REGISTER_MAP_WITH_PROGRAMSTATE(CStringLength, const MemRegion *, SVal) in REGISTER_MAP_WITH_PROGRAMSTATE() argument
363 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef State, SVal V, in REGISTER_MAP_WITH_PROGRAMSTATE()
376 AnyArgExpr Arg, SVal l) const { in checkNonNull()
423 SVal Offset = in getIndex()
437 AnyArgExpr Buffer, SVal Element, in checkInit()
438 SVal Size) const { in checkInit()
515 SVal LastIdx = SVB.evalBinOpNN(State, BO_Sub, *Offset, One, IdxTy); in checkInit()
520 SVal LastElementVal = in checkInit()
550 AnyArgExpr Buffer, SVal Element, in CheckLocation()
612 SVal BufVal = C.getSVal(Buffer.Expression); in CheckBufferAccess()
621 SVal BufStart = in CheckBufferAccess()
633 SVal LengthVal = C.getSVal(Size.Expression); in CheckBufferAccess()
640 SVal Offset = svalBuilder.evalBinOpNN(State, BO_Sub, *Length, One, SizeTy); in CheckBufferAccess()
648 SVal BufEnd = in CheckBufferAccess()
688 SVal firstVal = state->getSVal(First.Expression, LCtx); in CheckOverlap()
689 SVal secondVal = state->getSVal(Second.Expression, LCtx); in CheckOverlap()
716 SVal reverse = in CheckOverlap()
738 SVal LengthVal = state->getSVal(Size.Expression, LCtx); in CheckOverlap()
747 SVal FirstStart = in CheckOverlap()
754 SVal FirstEnd = svalBuilder.evalBinOpLN(state, BO_Add, *FirstStartLoc, in CheckOverlap()
761 SVal Overlap = in CheckOverlap()
920 SVal maxMinusRight; in checkAdditionOverflow()
935 SVal willOverflow = svalBuilder.evalBinOpNN(state, BO_GT, left, in checkAdditionOverflow()
958 SVal strLength) { in setCStringLength()
997 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C, in getCStringLengthForRegion()
1004 const SVal *Recorded = state->get<CStringLength>(MR); in getCStringLengthForRegion()
1012 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(), in getCStringLengthForRegion()
1026 SVal evalLength = svalBuilder.evalBinOpNN(state, BO_LE, *strLn, maxLength, in getCStringLengthForRegion()
1036 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state, in getCStringLength()
1037 const Expr *Ex, SVal Buf, in getCStringLength()
1126 ProgramStateRef &state, const Expr *expr, SVal val) const { in getCStringLiteral()
1146 SVal BufVal, QualType BufTy, in isFirstBufInBound()
1147 SVal LengthVal, QualType LengthTy) { in isFirstBufInBound()
1167 SVal Offset = SB.evalBinOpNN(State, BO_Sub, *Length, One, LengthTy); in isFirstBufInBound()
1173 SVal BufStart = SB.evalCast(BufVal, PtrTy, BufTy); in isFirstBufInBound()
1178 SVal BufEnd = SB.evalBinOpLN(State, BO_Add, *BufLoc, LastOffset, PtrTy); in isFirstBufInBound()
1207 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV, in invalidateDestinationBufferBySize()
1208 SVal SizeV, QualType SizeTy) { in invalidateDestinationBufferBySize()
1228 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV) { in invalidateDestinationBufferAlwaysEscapeSuperRegion()
1238 CheckerContext &C, ProgramStateRef S, const Expr *BufE, SVal BufV) { in invalidateDestinationBufferNeverOverflows()
1254 SVal BufV) { in invalidateSourceBuffer()
1269 CheckerContext &C, ProgramStateRef State, const Expr *E, SVal V, in invalidateBufferAux()
1345 bool CStringChecker::memsetAux(const Expr *DstBuffer, SVal CharVal, in memsetAux()
1348 SVal MemVal = C.getSVal(DstBuffer); in memsetAux()
1349 SVal SizeVal = C.getSVal(Size); in memsetAux()
1410 SVal NewStrLen = svalBuilder.getMetadataSymbolVal( in memsetAux()
1416 SVal NewStrLenGESize = svalBuilder.evalBinOp( in memsetAux()
1445 SVal sizeVal = state->getSVal(Size.Expression, LCtx); in evalCopyCommon()
1453 SVal destVal = state->getSVal(Dest.Expression, LCtx); in evalCopyCommon()
1478 SVal srcVal = state->getSVal(Source.Expression, LCtx); in evalCopyCommon()
1503 SVal DestRegCharVal = in evalCopyCommon()
1505 SVal lastElement = C.getSValBuilder().evalBinOp( in evalCopyCommon()
1609 SVal sizeVal = State->getSVal(Size.Expression, LCtx); in evalMemcmp()
1661 SVal CmpV = Builder.conjureSymbolVal(nullptr, Call.getOriginExpr(), LCtx, in evalMemcmp()
1690 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1699 SVal zero = C.getSValBuilder().makeZeroVal(Call.getResultType()); in evalstrLengthCommon()
1714 SVal ArgVal = state->getSVal(Arg.Expression, LCtx); in evalstrLengthCommon()
1720 SVal strLength = getCStringLength(C, state, Arg.Expression, ArgVal); in evalstrLengthCommon()
1737 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1881 SVal DstVal = state->getSVal(Dst.Expression, LCtx); in evalStrcpyCommon()
1888 SVal srcVal = state->getSVal(srcExpr.Expression, LCtx); in evalStrcpyCommon()
1894 SVal strLength = getCStringLength(C, state, srcExpr.Expression, srcVal); in evalStrcpyCommon()
1898 SVal dstStrLength = getCStringLength(C, state, Dst.Expression, DstVal); in evalStrcpyCommon()
1912 SVal amountCopied = UnknownVal(); in evalStrcpyCommon()
1913 SVal maxLastElementIndex = UnknownVal(); in evalStrcpyCommon()
1932 SVal lenVal = state->getSVal(lenExpr.Expression, LCtx); in evalStrcpyCommon()
1973 SVal freeSpace = svalBuilder.evalBinOpNN(state, BO_Sub, *lenValNL, in evalStrcpyCommon()
1986 SVal hasEnoughSpace = svalBuilder.evalBinOpNN( in evalStrcpyCommon()
2054 SVal retSize = svalBuilder.evalBinOp( in evalStrcpyCommon()
2086 SVal finalStrLength = UnknownVal(); in evalStrcpyCommon()
2087 SVal strlRetVal = UnknownVal(); in evalStrcpyCommon()
2135 SVal sourceInResult = svalBuilder.evalBinOpNN( in evalStrcpyCommon()
2146 SVal destInResult = svalBuilder.evalBinOpNN(state, BO_GE, in evalStrcpyCommon()
2164 SVal Result; in evalStrcpyCommon()
2189 SVal maxLastElement = in evalStrcpyCommon()
2204 SVal lastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal, in evalStrcpyCommon()
2298 SVal LeftVal = state->getSVal(Left.Expression, LCtx); in evalStrcmpCommon()
2305 SVal RightVal = state->getSVal(Right.Expression, LCtx); in evalStrcmpCommon()
2311 SVal LeftLength = getCStringLength(C, state, Left.Expression, LeftVal); in evalStrcmpCommon()
2316 SVal RightLength = getCStringLength(C, state, Right.Expression, RightVal); in evalStrcmpCommon()
2357 SVal resultVal = svalBuilder.conjureSymbolVal(nullptr, Call.getOriginExpr(), in evalStrcmpCommon()
2367 SVal lenVal = state->getSVal(lenExpr, LCtx); in evalStrcmpCommon()
2405 SVal compareWithZero = in evalStrcmpCommon()
2437 SVal SearchStrVal = State->getSVal(SearchStrPtr.Expression, LCtx); in evalStrsep()
2444 SVal DelimStrVal = State->getSVal(DelimStr.Expression, LCtx); in evalStrsep()
2450 SVal Result; in evalStrsep()
2507 SVal DstVal = State->getSVal(Dst, LCtx); in evalStdCopyCommon()
2515 SVal ResultVal = in evalStdCopyCommon()
2535 SVal SizeVal = C.getSVal(Size.Expression); in evalMemset()
2542 SVal BufferPtrVal = C.getSVal(Buffer.Expression); in evalMemset()
2578 SVal Zero = C.getSValBuilder().makeZeroVal(C.getASTContext().IntTy); in evalBzero()
2583 SVal SizeVal = C.getSVal(Size.Expression); in evalBzero()
2598 SVal MemVal = C.getSVal(Buffer.Expression); in evalBzero()
2746 SVal StrVal = C.getSVal(Init); in checkPreStmt()
2811 for (SVal Len : llvm::make_second_range(Entries)) { in checkLiveSymbols()