| 497 | } |
| 498 | |
| 499 | static void |
| 500 | HandleImplicitConversion(bool isFatal, struct CImplicitConversionData *pData, unsigned long ulFrom, unsigned long ulTo) |
| 501 | { |
| 502 | char szLocation[LOCATION_MAXLEN]; |
| 503 | char szFrom[NUMBER_MAXLEN]; |
| 504 | char szTo[NUMBER_MAXLEN]; |
| 505 | |
| 506 | ASSERT(pData); |
| 507 | |
| 508 | if (isAlreadyReported(&pData->mLocation)) |
| 509 | return; |
| 510 | |
| 511 | DeserializeLocation(szLocation, LOCATION_MAXLEN, &pData->mLocation); |
| 512 | DeserializeNumber(szLocation, szFrom, NUMBER_MAXLEN, pData->mFromType, ulFrom); |
| 513 | DeserializeNumber(szLocation, szTo, NUMBER_MAXLEN, pData->mToType, ulTo); |
| 514 | |
| 515 | Report(isFatal, "UBSAN: Undefined Behavior in %s, %s from %s to %s\n", |
| 516 | szLocation, DeserializeImplicitConversionCheckKind(pData->mKind), pData->mFromType->mTypeName, pData->mToType->mTypeName); |
| 517 | } |
| 518 | |
| 519 | static void |
| 520 | HandleLoadInvalidValue(bool isFatal, struct CInvalidValueData *pData, unsigned long ulValue) |
no test coverage detected