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
+6 -4
View File
@@ -166,10 +166,12 @@ int timesync_encode_timesync_recipients(
if (pRecipient->tag == 0) {
if (max_apdu >= (1 + 4)) {
/* CHOICE - device [0] BACnetObjectIdentifier */
len = encode_context_object_id(
&apdu[apdu_len], 0, pRecipient->type.device.type,
pRecipient->type.device.instance);
apdu_len += len;
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;
}