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 ### 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 * Fixed segmented ComplexACK in MS/TP by adding postpone reply because
transmission of the segmented ComplexACK cannot begin until the node transmission of the segmented ComplexACK cannot begin until the node
holds the token. (#1116) holds the token. (#1116)
+6 -4
View File
@@ -166,10 +166,12 @@ int timesync_encode_timesync_recipients(
if (pRecipient->tag == 0) { if (pRecipient->tag == 0) {
if (max_apdu >= (1 + 4)) { if (max_apdu >= (1 + 4)) {
/* CHOICE - device [0] BACnetObjectIdentifier */ /* CHOICE - device [0] BACnetObjectIdentifier */
len = encode_context_object_id( if (pRecipient->type.device.type == OBJECT_DEVICE) {
&apdu[apdu_len], 0, pRecipient->type.device.type, len = encode_context_object_id(
pRecipient->type.device.instance); &apdu[apdu_len], 0, pRecipient->type.device.type,
apdu_len += len; pRecipient->type.device.instance);
apdu_len += len;
}
} else { } else {
return BACNET_STATUS_ABORT; 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.adr[0] = 127;
recipient[2].type.address.len = 1; recipient[2].type.address.len = 1;
/* network = zero */ /* network = zero */
recipient[3].tag = 1;
recipient[3].type.address.net = 0; recipient[3].type.address.net = 0;
recipient[3].type.address.mac[0] = 10; recipient[3].type.address.mac[0] = 10;
recipient[3].type.address.mac[1] = 1; recipient[3].type.address.mac[1] = 1;