- fixed bug in server side delete-data-set service. Server crashes when client sends an unknown LD/domain name

pull/6/head
Michael Zillgith 11 years ago
parent 1700bca56b
commit 4cc0b4fe13

@ -80,6 +80,9 @@ MmsDomain_getNamedVariableList(MmsDomain* self, char* variableListName)
{
MmsNamedVariableList variableList = NULL;
if (self == NULL)
goto exit_function;
LinkedList element = LinkedList_getNext(self->namedVariableLists);
while (element != NULL) {
@ -93,6 +96,8 @@ MmsDomain_getNamedVariableList(MmsDomain* self, char* variableListName)
element = LinkedList_getNext(element);
}
exit_function:
return variableList;
}

@ -141,19 +141,22 @@ mmsServer_handleDeleteNamedVariableListRequest(MmsServerConnection connection,
MmsDomain* domain = MmsDevice_getDomain(device, domainName);
MmsNamedVariableList variableList = MmsDomain_getNamedVariableList(domain, listName);
if (domain != NULL) {
if (variableList != NULL) {
numberMatched++;
MmsNamedVariableList variableList = MmsDomain_getNamedVariableList(domain, listName);
if (variableList != NULL) {
numberMatched++;
if (MmsNamedVariableList_isDeletable(variableList)) {
if (MmsNamedVariableList_isDeletable(variableList)) {
if (mmsServer_callVariableListChangedHandler(false, MMS_DOMAIN_SPECIFIC, domain, listName, connection) == true) {
MmsDomain_deleteNamedVariableList(domain, listName);
numberDeleted++;
if (mmsServer_callVariableListChangedHandler(false, MMS_DOMAIN_SPECIFIC, domain, listName, connection) == true) {
MmsDomain_deleteNamedVariableList(domain, listName);
numberDeleted++;
}
}
}
}
}
}
}
else if (request->listOfVariableListName->list.array[i]->present == ObjectName_PR_aaspecific) {
char listName[65];

Loading…
Cancel
Save