- MMS client: added aditional checks to catch response parsing errors

pull/147/head
Michael Zillgith 6 years ago
parent b9ded374e3
commit ff54448311

@ -1592,9 +1592,13 @@ MmsConnection_readVariable(MmsConnection self, MmsError* mmsError,
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
value = mmsClient_parseReadResponse(self->lastResponse, NULL, false);
if (value == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1620,9 +1624,13 @@ MmsConnection_readVariableComponent(MmsConnection self, MmsError* mmsError,
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
value = mmsClient_parseReadResponse(self->lastResponse, NULL, false);
if (value == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1650,9 +1658,13 @@ MmsConnection_readArrayElements(MmsConnection self, MmsError* mmsError,
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
value = mmsClient_parseReadResponse(self->lastResponse, NULL, false);
if (value == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1679,9 +1691,13 @@ MmsConnection_readSingleArrayElementWithComponent(MmsConnection self, MmsError*
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
value = mmsClient_parseReadResponse(self->lastResponse, NULL, false);
if (value == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1707,9 +1723,13 @@ MmsConnection_readMultipleVariables(MmsConnection self, MmsError* mmsError,
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
value = mmsClient_parseReadResponse(self->lastResponse, NULL, true);
if (value == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1772,9 +1792,13 @@ MmsConnection_readNamedVariableListValuesAssociationSpecific(
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
value = mmsClient_parseReadResponse(self->lastResponse, NULL, true);
if (value == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1801,10 +1825,14 @@ MmsConnection_readNamedVariableListDirectory(MmsConnection self, MmsError* mmsEr
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
attributes = mmsClient_parseGetNamedVariableListAttributesResponse(self->lastResponse, NULL,
deletable);
if (attributes == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:
@ -1831,10 +1859,14 @@ MmsConnection_readNamedVariableListDirectoryAssociationSpecific(MmsConnection se
ByteBuffer* responseMessage = sendRequestAndWaitForResponse(self, invokeId, payload, mmsError);
if (responseMessage != NULL)
if (responseMessage != NULL) {
attributes = mmsClient_parseGetNamedVariableListAttributesResponse(self->lastResponse, NULL,
deletable);
if (attributes == NULL)
*mmsError = MMS_ERROR_PARSING_RESPONSE;
}
releaseResponse(self);
exit_function:

Loading…
Cancel
Save