A few instances of store_truncates_time_t, almost all due to DNS specific protocol properties
Coverity 380097, 380099, 380100, 380101, 380105, 380108, 380114, 380115, 380116, 380118
memcpy(cert.signedData.resolverPK, pubK, sizeof(cert.signedData.resolverPK));
memcpy(cert.signedData.clientMagic, pubK, sizeof(cert.signedData.clientMagic));
cert.signedData.serial = htonl(serial);
+ // coverity[store_truncates_time_t]
cert.signedData.tsStart = htonl((uint32_t) begin);
+ // coverity[store_truncates_time_t]
cert.signedData.tsEnd = htonl((uint32_t) end);
unsigned long long signatureSize = 0;
}
bool isValid(time_t now) const
{
+ // coverity[store_truncates_time_t]
return ntohl(getTSStart()) <= static_cast<uint32_t>(now) && static_cast<uint32_t>(now) <= ntohl(getTSEnd());
}
unsigned char magic[DNSCRYPT_CERT_MAGIC_SIZE];
if (!d_dontAge && !skipAging) {
if (!stale) {
+ // coverity[store_truncates_time_t]
ageDNSPacket(reinterpret_cast<char *>(&response[0]), response.size(), age);
}
else {
m.startResponse();
if (d_queryTime) {
+ // coverity[store_truncates_time_t]
m.setQueryTime(d_queryTime->first, d_queryTime->second);
}
else {
}
catch(...) {
}
+ // coverity[store_truncates_time_t]
sleep(g_secPollInterval);
}
}
sleepDelay = std::min(sleepDelay, (nextMetricsCollect - now));
sleepDelay = std::min(sleepDelay, (nextMetricsGeneration - now));
+ // coverity[store_truncates_time_t]
sleep(sleepDelay);
try {
else {
auto res = d_ip6s.write_lock()->insert({{ca}, ttd});
if (!res.second && (time_t)res.first->second < ttd) {
+ // coverity[store_truncates_time_t]
res.first->second = (uint32_t)ttd;
}
}
uint32_t ts;
memcpy(&ts, &server[4], sizeof(ts));
ts = ntohl(ts);
+ // coverity[store_truncates_time_t]
uint32_t now = static_cast<uint32_t>(time(nullptr));
// RFC 9018 section 4.3:
// The DNS server
server.reserve(16);
server = "\x01"; // Version
server.resize(4, '\0'); // 3 reserved bytes
+ // coverity[store_truncates_time_t]
uint32_t now = htonl(static_cast<uint32_t>(time(nullptr)));
server += string(reinterpret_cast<const char*>(&now), sizeof(now));
server.resize(8);