Corrected context decoding bug in ReadPropertyMultiple client. Corrected ReadPropertyMultiple handling of objects that aren't supported. Added the context to application tags for the Load Control object.

This commit is contained in:
skarg
2009-02-21 19:12:31 +00:00
parent c23b6c2742
commit d45d566c94
4 changed files with 58 additions and 20 deletions
+13 -2
View File
@@ -85,6 +85,10 @@ static int rpm_ack_decode_service_request(
&rpm_property->propertyArrayIndex);
if (len <= 0) {
old_rpm_property->next = NULL;
if (rpm_object->listOfProperties == rpm_property) {
/* was this the only property in the list? */
rpm_object->listOfProperties = NULL;
}
free(rpm_property);
break;
}
@@ -102,8 +106,15 @@ static int rpm_ack_decode_service_request(
rpm_property->value = value;
old_value = value;
while (value && (apdu_len > 0)) {
len =
bacapp_decode_application_data(apdu, apdu_len, value);
if (decode_is_context_specific(apdu)) {
len =
bacapp_decode_context_data(
apdu, apdu_len, value,
rpm_property->propertyIdentifier);
} else {
len =
bacapp_decode_application_data(apdu, apdu_len, value);
}
decoded_len += len;
apdu_len -= len;
apdu += len;