From 1f144a008ead5bd6124f102aec289d56338da5c9 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Mon, 25 Mar 2019 23:15:24 +0100 Subject: [PATCH] - fixed memory leak in ClientSVControlBlock_create --- src/iec61850/client/client_sv_control.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/iec61850/client/client_sv_control.c b/src/iec61850/client/client_sv_control.c index 3f083243..2cd5fdcb 100644 --- a/src/iec61850/client/client_sv_control.c +++ b/src/iec61850/client/client_sv_control.c @@ -50,12 +50,16 @@ ClientSVControlBlock_create(IedConnection connection, const char* reference) MmsValue_delete(value); } else { + MmsValue_delete(value); + value = IedConnection_readObject(connection, &error, reference, IEC61850_FC_US); if ((error == IED_ERROR_OK) && (MmsValue_getType(value) != MMS_DATA_ACCESS_ERROR)) MmsValue_delete(value); - else + else { + MmsValue_delete(value); return NULL; + } } ClientSVControlBlock self = (ClientSVControlBlock) GLOBAL_CALLOC(1, sizeof(struct sClientSVControlBlock));