From a451731454f362e048419b60c421b659bffbb596 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Sat, 19 May 2018 15:55:29 +0200 Subject: [PATCH] - IEC 61850 server: removed unnecessary dynamic string allocation --- src/iec61850/server/impl/ied_server.c | 10 +++------- src/iec61850/server/mms_mapping/mms_mapping.c | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/iec61850/server/impl/ied_server.c b/src/iec61850/server/impl/ied_server.c index ff1d6504..1c47e085 100644 --- a/src/iec61850/server/impl/ied_server.c +++ b/src/iec61850/server/impl/ied_server.c @@ -204,23 +204,19 @@ createMmsServerCache(IedServer self) ) { - char* variableName = StringUtils_createString(3, lnName, "$", fcName); + char variableName[65]; - if (variableName == NULL) goto exit_function; + StringUtils_createStringInBuffer(variableName, 3, lnName, "$", fcName); MmsValue* defaultValue = MmsValue_newDefaultValue(fcSpec); - if (defaultValue == NULL) { - GLOBAL_FREEMEM(variableName); + if (defaultValue == NULL) goto exit_function; - } if (DEBUG_IED_SERVER) printf("ied_server.c: Insert into cache %s - %s\n", logicalDevice->domainName, variableName); MmsServer_insertIntoCache(self->mmsServer, logicalDevice, variableName, defaultValue); - - GLOBAL_FREEMEM(variableName); } } } diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c index 13ad7057..a99bc384 100644 --- a/src/iec61850/server/mms_mapping/mms_mapping.c +++ b/src/iec61850/server/mms_mapping/mms_mapping.c @@ -1303,6 +1303,7 @@ MmsMapping_create(IedModel* model) self->attributeAccessHandlers = LinkedList_create(); + /* create data model specification */ self->mmsDevice = createMmsModelFromIedModel(self, model); return self;