- fixed vulnerability of GOOSE subscriber to malformed messages (LIB61850-304)

pull/374/head
Michael Zillgith 4 years ago
parent 19c617c4f3
commit f7f3c2ae8f

@ -151,6 +151,12 @@ parseAllData(uint8_t* buffer, int allDataLength, MmsValue* dataSetValues)
MmsValue* value = MmsValue_getElement(dataSetValues, elementIndex); MmsValue* value = MmsValue_getElement(dataSetValues, elementIndex);
if (value == NULL) {
if (DEBUG_GOOSE_SUBSCRIBER)
printf("GOOSE_SUBSCRIBER: type mismatch (element %i not found)\n", elementIndex);
return GOOSE_PARSE_ERROR_TYPE_MISMATCH;
}
bufPos = BerDecoder_decodeLength(buffer, &elementLength, bufPos, allDataLength); bufPos = BerDecoder_decodeLength(buffer, &elementLength, bufPos, allDataLength);
if (bufPos < 0) { if (bufPos < 0) {
pe = GOOSE_PARSE_ERROR_TAGDECODE; pe = GOOSE_PARSE_ERROR_TAGDECODE;

Loading…
Cancel
Save