- IedServer: fixed crash when client tries to write complete SGCB structure

pull/462/merge
Michael Zillgith 2 years ago
parent 76e016f59d
commit d6c53b1569

@ -1,7 +1,7 @@
/* /*
* mms_mapping.c * mms_mapping.c
* *
* Copyright 2013-2022 Michael Zillgith * Copyright 2013-2024 Michael Zillgith
* *
* This file is part of libIEC61850. * This file is part of libIEC61850.
* *
@ -1309,8 +1309,8 @@ checkForServiceTrackingVariables(MmsMapping* self, LogicalNode* logicalNode)
{ {
ModelNode* modelNode = logicalNode->firstChild; ModelNode* modelNode = logicalNode->firstChild;
while (modelNode) { while (modelNode)
{
if (!strcmp(modelNode->name, "SpcTrk") || !strcmp(modelNode->name, "DpcTrk") || if (!strcmp(modelNode->name, "SpcTrk") || !strcmp(modelNode->name, "DpcTrk") ||
!strcmp(modelNode->name, "IncTrk") || !strcmp(modelNode->name, "EncTrk1") || !strcmp(modelNode->name, "IncTrk") || !strcmp(modelNode->name, "EncTrk1") ||
!strcmp(modelNode->name, "ApcFTrk") || !strcmp(modelNode->name, "ApcIntTrk") || !strcmp(modelNode->name, "ApcFTrk") || !strcmp(modelNode->name, "ApcIntTrk") ||
@ -2644,6 +2644,10 @@ mmsWriteHandler(void* parameter, MmsDomain* domain,
if (nextSep != NULL) { if (nextSep != NULL) {
nextSep = strchr(nextSep + 1, '$'); nextSep = strchr(nextSep + 1, '$');
if (nextSep == NULL) {
return DATA_ACCESS_ERROR_OBJECT_ACCESS_UNSUPPORTED;
}
char* nameId = nextSep + 1; char* nameId = nextSep + 1;
if (strcmp(nameId, "ActSG") == 0) { if (strcmp(nameId, "ActSG") == 0) {

Loading…
Cancel
Save