Lines Matching refs:SVal
212 ProgramStateRef state, SVal V, QualType Ty);
216 SVal strLength);
217 static SVal getCStringLengthForRegion(CheckerContext &C,
222 SVal getCStringLength(CheckerContext &C,
225 SVal Buf,
231 SVal val) const;
235 const Expr *Ex, SVal V,
242 static bool memsetAux(const Expr *DstBuffer, SVal CharE,
248 AnyArgExpr Arg, SVal l) const;
250 AnyArgExpr Buffer, SVal Element,
289 REGISTER_MAP_WITH_PROGRAMSTATE(CStringLength, const MemRegion *, SVal) in REGISTER_MAP_WITH_PROGRAMSTATE() argument
296 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef state, SVal V, in REGISTER_MAP_WITH_PROGRAMSTATE()
309 AnyArgExpr Arg, SVal l) const { in checkNonNull()
340 AnyArgExpr Buffer, SVal Element, in CheckLocation()
376 SVal Offset = svalBuilder.evalBinOpNN(state, BO_Mul, Idx, WideSize, SizeTy); in CheckLocation()
432 SVal BufVal = C.getSVal(Buffer.Expression); in CheckBufferAccess()
444 SVal LengthVal = C.getSVal(Size.Expression); in CheckBufferAccess()
451 SVal Offset = svalBuilder.evalBinOpNN(State, BO_Sub, *Length, One, SizeTy); in CheckBufferAccess()
457 SVal BufStart = in CheckBufferAccess()
461 SVal BufEnd = in CheckBufferAccess()
499 SVal firstVal = state->getSVal(First.Expression, LCtx); in CheckOverlap()
500 SVal secondVal = state->getSVal(Second.Expression, LCtx); in CheckOverlap()
527 SVal reverse = in CheckOverlap()
549 SVal LengthVal = state->getSVal(Size.Expression, LCtx); in CheckOverlap()
558 SVal FirstStart = in CheckOverlap()
565 SVal FirstEnd = svalBuilder.evalBinOpLN(state, BO_Add, *FirstStartLoc, in CheckOverlap()
572 SVal Overlap = in CheckOverlap()
727 SVal maxMinusRight; in checkAdditionOverflow()
742 SVal willOverflow = svalBuilder.evalBinOpNN(state, BO_GT, left, in checkAdditionOverflow()
765 SVal strLength) { in setCStringLength()
804 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C, in getCStringLengthForRegion()
811 const SVal *Recorded = state->get<CStringLength>(MR); in getCStringLengthForRegion()
819 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(), in getCStringLengthForRegion()
833 SVal evalLength = svalBuilder.evalBinOpNN(state, BO_LE, *strLn, in getCStringLengthForRegion()
843 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state, in getCStringLength()
844 const Expr *Ex, SVal Buf, in getCStringLength()
919 ProgramStateRef &state, const Expr *expr, SVal val) const { in getCStringLiteral()
953 SVal BufVal = state->getSVal(FirstBuf, LCtx); in IsFirstBufInBound()
955 SVal LengthVal = state->getSVal(Size, LCtx); in IsFirstBufInBound()
962 SVal Offset = svalBuilder.evalBinOpNN(state, BO_Sub, *Length, One, sizeTy); in IsFirstBufInBound()
968 SVal BufStart = svalBuilder.evalCast(BufVal, PtrTy, FirstBuf->getType()); in IsFirstBufInBound()
973 SVal BufEnd = in IsFirstBufInBound()
1004 const Expr *E, SVal V, in InvalidateBuffer()
1098 bool CStringChecker::memsetAux(const Expr *DstBuffer, SVal CharVal, in memsetAux()
1101 SVal MemVal = C.getSVal(DstBuffer); in memsetAux()
1102 SVal SizeVal = C.getSVal(Size); in memsetAux()
1163 SVal NewStrLen = svalBuilder.getMetadataSymbolVal( in memsetAux()
1169 SVal NewStrLenGESize = svalBuilder.evalBinOp( in memsetAux()
1198 SVal sizeVal = state->getSVal(Size.Expression, LCtx); in evalCopyCommon()
1206 SVal destVal = state->getSVal(Dest.Expression, LCtx); in evalCopyCommon()
1227 SVal srcVal = state->getSVal(Source.Expression, LCtx); in evalCopyCommon()
1252 SVal DestRegCharVal = in evalCopyCommon()
1254 SVal lastElement = C.getSValBuilder().evalBinOp( in evalCopyCommon()
1357 SVal sizeVal = State->getSVal(Size.Expression, LCtx); in evalMemcmp()
1408 SVal CmpV = Builder.conjureSymbolVal(nullptr, CE, LCtx, C.blockCount()); in evalMemcmp()
1435 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1444 SVal zero = C.getSValBuilder().makeZeroVal(CE->getType()); in evalstrLengthCommon()
1459 SVal ArgVal = state->getSVal(Arg.Expression, LCtx); in evalstrLengthCommon()
1465 SVal strLength = getCStringLength(C, state, Arg.Expression, ArgVal); in evalstrLengthCommon()
1482 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx); in evalstrLengthCommon()
1619 SVal DstVal = state->getSVal(Dst.Expression, LCtx); in evalStrcpyCommon()
1626 SVal srcVal = state->getSVal(srcExpr.Expression, LCtx); in evalStrcpyCommon()
1632 SVal strLength = getCStringLength(C, state, srcExpr.Expression, srcVal); in evalStrcpyCommon()
1636 SVal dstStrLength = getCStringLength(C, state, Dst.Expression, DstVal); in evalStrcpyCommon()
1650 SVal amountCopied = UnknownVal(); in evalStrcpyCommon()
1651 SVal maxLastElementIndex = UnknownVal(); in evalStrcpyCommon()
1669 SVal lenVal = state->getSVal(lenExpr.Expression, LCtx); in evalStrcpyCommon()
1710 SVal freeSpace = svalBuilder.evalBinOpNN(state, BO_Sub, *lenValNL, in evalStrcpyCommon()
1723 SVal hasEnoughSpace = svalBuilder.evalBinOpNN( in evalStrcpyCommon()
1789 SVal retSize = svalBuilder.evalBinOp( in evalStrcpyCommon()
1820 SVal finalStrLength = UnknownVal(); in evalStrcpyCommon()
1821 SVal strlRetVal = UnknownVal(); in evalStrcpyCommon()
1867 SVal sourceInResult = svalBuilder.evalBinOpNN( in evalStrcpyCommon()
1878 SVal destInResult = svalBuilder.evalBinOpNN(state, BO_GE, in evalStrcpyCommon()
1896 SVal Result; in evalStrcpyCommon()
1921 SVal maxLastElement = in evalStrcpyCommon()
1931 SVal lastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal, in evalStrcpyCommon()
2017 SVal LeftVal = state->getSVal(Left.Expression, LCtx); in evalStrcmpCommon()
2024 SVal RightVal = state->getSVal(Right.Expression, LCtx); in evalStrcmpCommon()
2030 SVal LeftLength = getCStringLength(C, state, Left.Expression, LeftVal); in evalStrcmpCommon()
2035 SVal RightLength = getCStringLength(C, state, Right.Expression, RightVal); in evalStrcmpCommon()
2075 SVal resultVal = svalBuilder.conjureSymbolVal(nullptr, CE, LCtx, in evalStrcmpCommon()
2085 SVal lenVal = state->getSVal(lenExpr, LCtx); in evalStrcmpCommon()
2123 SVal compareWithZero = in evalStrcmpCommon()
2154 SVal SearchStrVal = State->getSVal(SearchStrPtr.Expression, LCtx); in evalStrsep()
2161 SVal DelimStrVal = State->getSVal(DelimStr.Expression, LCtx); in evalStrsep()
2167 SVal Result; in evalStrsep()
2223 SVal DstVal = State->getSVal(Dst, LCtx); in evalStdCopyCommon()
2229 SVal ResultVal = SVB.conjureSymbolVal(nullptr, CE, LCtx, C.blockCount()); in evalStdCopyCommon()
2247 SVal SizeVal = C.getSVal(Size.Expression); in evalMemset()
2254 SVal BufferPtrVal = C.getSVal(Buffer.Expression); in evalMemset()
2290 SVal Zero = C.getSValBuilder().makeZeroVal(C.getASTContext().IntTy); in evalBzero()
2295 SVal SizeVal = C.getSVal(Size.Expression); in evalBzero()
2310 SVal MemVal = C.getSVal(Buffer.Expression); in evalBzero()
2408 SVal StrVal = C.getSVal(Init); in checkPreStmt()
2480 SVal Len = I.getData(); in checkLiveSymbols()
2498 SVal Len = I.getData(); in checkDeadSymbols()