From 04f6b440c8b611d05e540d6e878e8992684e8d5d Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Fri, 17 Apr 2020 10:22:29 +0200 Subject: [PATCH] - MMS: also update bitstring value when source bit string is of smaller size than the bitstring to be updated --- src/mms/iso_mms/common/mms_value.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mms/iso_mms/common/mms_value.c b/src/mms/iso_mms/common/mms_value.c index e63321a2..106ea7b0 100644 --- a/src/mms/iso_mms/common/mms_value.c +++ b/src/mms/iso_mms/common/mms_value.c @@ -258,6 +258,13 @@ MmsValue_update(MmsValue* self, const MmsValue* update) case MMS_BIT_STRING: if (self->value.bitString.size == update->value.bitString.size) memcpy(self->value.bitString.buf, update->value.bitString.buf, bitStringByteSize(self)); + else if (update->value.bitString.size < self->value.bitString.size) { + int i; + + for (i = 0; i < update->value.bitString.size; i++) { + MmsValue_setBitStringBit(self, i, MmsValue_getBitStringBit(update, i)); + } + } else return false; break;