Fix timesync recipient encoding to check for OBJECT_DEVICE type before encoding. (#1153)
This commit is contained in:
@@ -29,6 +29,8 @@ The git repositories are hosted at the following sites:
|
||||
|
||||
### Fixed
|
||||
|
||||
* Fix timesync recipient encoding to check for OBJECT_DEVICE type before
|
||||
encoding. (#1153)
|
||||
* Fixed segmented ComplexACK in MS/TP by adding postpone reply because
|
||||
transmission of the segmented ComplexACK cannot begin until the node
|
||||
holds the token. (#1116)
|
||||
|
||||
@@ -166,10 +166,12 @@ int timesync_encode_timesync_recipients(
|
||||
if (pRecipient->tag == 0) {
|
||||
if (max_apdu >= (1 + 4)) {
|
||||
/* CHOICE - device [0] BACnetObjectIdentifier */
|
||||
if (pRecipient->type.device.type == OBJECT_DEVICE) {
|
||||
len = encode_context_object_id(
|
||||
&apdu[apdu_len], 0, pRecipient->type.device.type,
|
||||
pRecipient->type.device.instance);
|
||||
apdu_len += len;
|
||||
}
|
||||
} else {
|
||||
return BACNET_STATUS_ABORT;
|
||||
}
|
||||
|
||||
@@ -101,6 +101,7 @@ static void testTimeSyncRecipient(void)
|
||||
recipient[2].type.address.adr[0] = 127;
|
||||
recipient[2].type.address.len = 1;
|
||||
/* network = zero */
|
||||
recipient[3].tag = 1;
|
||||
recipient[3].type.address.net = 0;
|
||||
recipient[3].type.address.mac[0] = 10;
|
||||
recipient[3].type.address.mac[1] = 1;
|
||||
|
||||
Reference in New Issue
Block a user