From a81b76c5e38694885f0e02a2fc40c67a80979453 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 12 Feb 2019 19:23:07 +0100 Subject: [PATCH] sv-publisher: fix invalid calculation of the total packet length in case the payload is larger than 127 bytes --- src/sampled_values/sv_publisher.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/sampled_values/sv_publisher.c b/src/sampled_values/sv_publisher.c index d5ee8d05..c759c56f 100644 --- a/src/sampled_values/sv_publisher.c +++ b/src/sampled_values/sv_publisher.c @@ -367,7 +367,15 @@ SVPublisher_ASDU_getEncodedSize(SVPublisher_ASDU self) encodedSize += 4; /* sample */ - encodedSize += 2; + if (self->dataSize < 128) + encodedSize += 2; + else if (self->dataSize < 256) + encodedSize += 3; + else if (self->dataSize < 65535) + encodedSize += 4; + else + encodedSize += 5; + encodedSize += self->dataSize; /* smpMod */