again
This commit is contained in:
@@ -360,6 +360,7 @@ unsigned char SingleDataField::getNextOffset()
|
|||||||
result_t SingleDataField::read(SymbolString& masterData, SymbolString& slaveData,
|
result_t SingleDataField::read(SymbolString& masterData, SymbolString& slaveData,
|
||||||
std::ostringstream& output, bool verbose, char separator)
|
std::ostringstream& output, bool verbose, char separator)
|
||||||
{
|
{
|
||||||
|
unsigned char maxPos = 16;
|
||||||
SymbolString& input = m_partType == pt_masterData ? masterData : slaveData;
|
SymbolString& input = m_partType == pt_masterData ? masterData : slaveData;
|
||||||
unsigned char baseOffset;
|
unsigned char baseOffset;
|
||||||
switch (m_partType)
|
switch (m_partType)
|
||||||
@@ -374,6 +375,9 @@ result_t SingleDataField::read(SymbolString& masterData, SymbolString& slaveData
|
|||||||
return RESULT_ERR_INVALID_ARG; // invalid part type
|
return RESULT_ERR_INVALID_ARG; // invalid part type
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_offset + m_length > maxPos) {
|
||||||
|
return RESULT_ERR_INVALID_ARG; // invalid pos definition
|
||||||
|
}
|
||||||
if (verbose)
|
if (verbose)
|
||||||
output << m_name << "=";
|
output << m_name << "=";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user