| 517 | } |
| 518 | |
| 519 | static void |
| 520 | HandleLoadInvalidValue(bool isFatal, struct CInvalidValueData *pData, unsigned long ulValue) |
| 521 | { |
| 522 | char szLocation[LOCATION_MAXLEN]; |
| 523 | char szValue[NUMBER_MAXLEN]; |
| 524 | |
| 525 | ASSERT(pData); |
| 526 | |
| 527 | if (isAlreadyReported(&pData->mLocation)) |
| 528 | return; |
| 529 | |
| 530 | DeserializeLocation(szLocation, LOCATION_MAXLEN, &pData->mLocation); |
| 531 | DeserializeNumber(szLocation, szValue, NUMBER_MAXLEN, pData->mType, ulValue); |
| 532 | |
| 533 | Report(isFatal, "UBSan: Undefined Behavior in %s, load of value %s is not a valid value for type %s\n", |
| 534 | szLocation, szValue, pData->mType->mTypeName); |
| 535 | } |
| 536 | |
| 537 | static void |
| 538 | HandleInvalidBuiltin(bool isFatal, struct CInvalidBuiltinData *pData) |
no test coverage detected