|
|
|
@ -765,6 +765,7 @@ parseGoosePayload(GooseReceiver self, uint8_t* buffer, int apduLength)
|
|
|
|
|
|
|
|
|
|
uint8_t tag = buffer[bufPos++];
|
|
|
|
|
bufPos = BerDecoder_decodeLength(buffer, &elementLength, bufPos, apduLength);
|
|
|
|
|
|
|
|
|
|
if (bufPos < 0)
|
|
|
|
|
{
|
|
|
|
|
if (DEBUG_GOOSE_SUBSCRIBER)
|
|
|
|
@ -772,9 +773,6 @@ parseGoosePayload(GooseReceiver self, uint8_t* buffer, int apduLength)
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bufPos == -1)
|
|
|
|
|
goto exit_with_fault;
|
|
|
|
|
|
|
|
|
|
switch (tag)
|
|
|
|
|
{
|
|
|
|
|
case 0x80: /* gocbRef */
|
|
|
|
@ -1422,6 +1420,8 @@ GooseReceiver_tick(GooseReceiver self)
|
|
|
|
|
#if (CONFIG_IEC61850_R_GOOSE == 1)
|
|
|
|
|
}
|
|
|
|
|
#endif /* (CONFIG_IEC61850_R_GOOSE == 1) */
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|