Fix timesync recipient encoding to check for OBJECT_DEVICE type before encoding. (#1153)

This commit is contained in:
Steve Karg
2025-11-20 05:14:52 -06:00
committed by GitHub
parent 5acd3ac336
commit 8f0fe8c48e
3 changed files with 9 additions and 4 deletions
+2
View File
@@ -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)
+2
View File
@@ -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;
}
+1
View File
@@ -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;