提交 2b6def7b 编写于 作者: H hanyuhang

CheckssumCalculatorThreadInfo:

avoid dereferencing a pointer that might be "nullptr"
上级 80553abc
...@@ -59,35 +59,55 @@ ChecksumCalculatorThreadInfo::~ChecksumCalculatorThreadInfo() { ...@@ -59,35 +59,55 @@ ChecksumCalculatorThreadInfo::~ChecksumCalculatorThreadInfo() {
} }
uint32_t ChecksumCalculatorThreadInfo::getVersion() { uint32_t ChecksumCalculatorThreadInfo::getVersion() {
return getChecksumCalculatorThreadInfo()->m_protocol.getVersion(); uint32_t ret = 0;
if(getChecksumCalculatorThreadInfo() != nullptr) {
ret = getChecksumCalculatorThreadInfo()->m_protocol.getVersion();
}
return ret;
} }
bool ChecksumCalculatorThreadInfo::setVersion(uint32_t version) { bool ChecksumCalculatorThreadInfo::setVersion(uint32_t version) {
return getChecksumCalculatorThreadInfo()->m_protocol.setVersion(version); bool ret = false;
if(getChecksumCalculatorThreadInfo() != nullptr) {
ret = getChecksumCalculatorThreadInfo()->m_protocol.setVersion(version);
}
return ret;
} }
size_t ChecksumCalculatorThreadInfo::checksumByteSize() { size_t ChecksumCalculatorThreadInfo::checksumByteSize() {
return getChecksumCalculatorThreadInfo()->m_protocol.checksumByteSize(); size_t ret = 0;
if(getChecksumCalculatorThreadInfo() != nullptr) {
ret = getChecksumCalculatorThreadInfo()->m_protocol.checksumByteSize();
}
return ret;
} }
bool ChecksumCalculatorThreadInfo::writeChecksum(void* buf, bool ChecksumCalculatorThreadInfo::writeChecksum(void* buf,
size_t bufLen, size_t bufLen,
void* outputChecksum, void* outputChecksum,
size_t outputChecksumLen) { size_t outputChecksumLen) {
ChecksumCalculator& protocol = bool ret = false;
getChecksumCalculatorThreadInfo()->m_protocol; if(getChecksumCalculatorThreadInfo() != nullptr) {
protocol.addBuffer(buf, bufLen); ChecksumCalculator& protocol =
return protocol.writeChecksum(outputChecksum, outputChecksumLen); getChecksumCalculatorThreadInfo()->m_protocol;
protocol.addBuffer(buf, bufLen);
ret = protocol.writeChecksum(outputChecksum, outputChecksumLen);
}
return ret;
} }
bool ChecksumCalculatorThreadInfo::validate(void* buf, bool ChecksumCalculatorThreadInfo::validate(void* buf,
size_t bufLen, size_t bufLen,
void* checksum, void* checksum,
size_t checksumLen) { size_t checksumLen) {
ChecksumCalculator& protocol = bool ret = false;
getChecksumCalculatorThreadInfo()->m_protocol; if(getChecksumCalculatorThreadInfo() != nullptr) {
protocol.addBuffer(buf, bufLen); ChecksumCalculator& protocol =
return protocol.validate(checksum, checksumLen); getChecksumCalculatorThreadInfo()->m_protocol;
protocol.addBuffer(buf, bufLen);
ret = protocol.validate(checksum, checksumLen);
}
return ret;
} }
void ChecksumCalculatorThreadInfo::validOrDie(void* buf, void ChecksumCalculatorThreadInfo::validOrDie(void* buf,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册