mirror of
https://gitlab.com/etherlab.org/ethercat.git
synced 2026-08-18 09:07:24 +08:00
Fixed segfault in reg_read when no datatype is specified.
This commit is contained in:
@@ -269,12 +269,19 @@ void DataTypeHandler::outputData(
|
||||
size_t dataSize
|
||||
)
|
||||
{
|
||||
if (type->byteSize && dataSize != type->byteSize) {
|
||||
stringstream err;
|
||||
err << "Data type mismatch. Expected " << type->name
|
||||
<< " with " << type->byteSize << " byte, but got "
|
||||
<< dataSize << " byte.";
|
||||
throw SizeException(err.str());
|
||||
uint16_t typeCode;
|
||||
|
||||
if (type) {
|
||||
if (type->byteSize && dataSize != type->byteSize) {
|
||||
stringstream err;
|
||||
err << "Data type mismatch. Expected " << type->name
|
||||
<< " with " << type->byteSize << " byte, but got "
|
||||
<< dataSize << " byte.";
|
||||
throw SizeException(err.str());
|
||||
}
|
||||
typeCode = type->code;
|
||||
} else {
|
||||
typeCode = 0xffff; // raw data
|
||||
}
|
||||
|
||||
o << setfill('0');
|
||||
|
||||
Reference in New Issue
Block a user