Skip to content

Commit ff4e722

Browse files
committed
Strings are fixed
1 parent a6e3a9e commit ff4e722

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

src/app/clusters/meter-identification-server/meter-identification-server.cpp

+6-8
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ using namespace chip::app::Clusters::MeterIdentification;
3434
using namespace chip::app::Clusters::MeterIdentification::Attributes;
3535

3636
using chip::Protocols::InteractionModel::Status;
37-
3837
namespace {
3938
bool NullableCharSpanCompare(const DataModel::Nullable<CharSpan> & a, const DataModel::Nullable<CharSpan> & b)
4039
{
@@ -123,7 +122,7 @@ CHIP_ERROR Instance::SetPointOfDelivery(const DataModel::Nullable<CharSpan> & ne
123122
}
124123

125124
const size_t len = newValue.IsNull() ? 0 : newValue.Value().size();
126-
if (kMaximumStringBufferSize <= len)
125+
if (kMaximumStringSize < len)
127126
{
128127
return CHIP_ERROR_INVALID_STRING_LENGTH;
129128
}
@@ -136,7 +135,6 @@ CHIP_ERROR Instance::SetPointOfDelivery(const DataModel::Nullable<CharSpan> & ne
136135
if (!newValue.IsNull())
137136
{
138137
memcpy(mPointOfDeliveryBuf, newValue.Value().data(), len);
139-
mPointOfDeliveryBuf[len] = 0;
140138
mPointOfDelivery = MakeNullable(CharSpan(mPointOfDeliveryBuf, len));
141139
}
142140

@@ -152,7 +150,7 @@ CHIP_ERROR Instance::SetMeterSerialNumber(const DataModel::Nullable<CharSpan> &
152150
}
153151

154152
const size_t len = newValue.IsNull() ? 0 : newValue.Value().size();
155-
if (kMaximumStringBufferSize <= len)
153+
if (kMaximumStringSize < len)
156154
{
157155
return CHIP_ERROR_INVALID_STRING_LENGTH;
158156
}
@@ -165,7 +163,6 @@ CHIP_ERROR Instance::SetMeterSerialNumber(const DataModel::Nullable<CharSpan> &
165163
if (!newValue.IsNull())
166164
{
167165
memcpy(mMeterSerialNumberBuf, newValue.Value().data(), len);
168-
mMeterSerialNumberBuf[len] = 0;
169166
mMeterSerialNumber = MakeNullable(CharSpan(mMeterSerialNumberBuf, len));
170167
}
171168

@@ -181,7 +178,7 @@ CHIP_ERROR Instance::SetProtocolVersion(const DataModel::Nullable<CharSpan> & ne
181178
}
182179

183180
const size_t len = newValue.IsNull() ? 0 : newValue.Value().size();
184-
if (kMaximumStringBufferSize <= len)
181+
if (kMaximumStringSize < len)
185182
{
186183
return CHIP_ERROR_INVALID_STRING_LENGTH;
187184
}
@@ -194,7 +191,6 @@ CHIP_ERROR Instance::SetProtocolVersion(const DataModel::Nullable<CharSpan> & ne
194191
if (!newValue.IsNull())
195192
{
196193
memcpy(mProtocolVersionBuf, newValue.Value().data(), len);
197-
mProtocolVersionBuf[len] = 0;
198194
mProtocolVersion = MakeNullable(CharSpan(mProtocolVersionBuf, len));
199195
}
200196

@@ -235,6 +231,8 @@ CHIP_ERROR Instance::SetPowerThreshold(const DataModel::Nullable<Globals::Struct
235231
return CHIP_NO_ERROR;
236232
}
237233

234+
235+
238236
// AttributeAccessInterface
239237
CHIP_ERROR Instance::Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder)
240238
{
@@ -254,7 +252,7 @@ CHIP_ERROR Instance::Read(const ConcreteReadAttributePath & aPath, AttributeValu
254252
break;
255253

256254
case MeterSerialNumber::Id:
257-
ReturnErrorOnFailure(aEncoder.Encode(GetMeterSerialNumber()));;
255+
ReturnErrorOnFailure(aEncoder.Encode(GetMeterSerialNumber()));
258256
break;
259257

260258
case ProtocolVersion::Id:

src/app/clusters/meter-identification-server/meter-identification-server.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class Instance : public AttributeAccessInterface
5151
DataModel::Nullable<CharSpan> GetProtocolVersion() { return mProtocolVersion; }
5252
DataModel::Nullable<Globals::Structs::PowerThresholdStruct::Type> GetPowerThreshold() { return mPowerThreshold; }
5353

54-
// Internal Application API to set attribute values
54+
// Internal Application API to set attribute values
5555
CHIP_ERROR SetMeterType(const DataModel::Nullable<MeterTypeEnum> & value);
5656
CHIP_ERROR SetPointOfDelivery(const DataModel::Nullable<CharSpan> & value);
5757
CHIP_ERROR SetMeterSerialNumber(const DataModel::Nullable<CharSpan> & value);
@@ -60,10 +60,10 @@ class Instance : public AttributeAccessInterface
6060

6161
private:
6262
// Attribute storage
63-
static constexpr size_t kMaximumStringBufferSize = 65;
64-
char mPointOfDeliveryBuf[kMaximumStringBufferSize] = {};
65-
char mMeterSerialNumberBuf[kMaximumStringBufferSize] = {};
66-
char mProtocolVersionBuf[kMaximumStringBufferSize] = {};
63+
static constexpr size_t kMaximumStringSize = 64;
64+
char mPointOfDeliveryBuf[kMaximumStringSize] = {};
65+
char mMeterSerialNumberBuf[kMaximumStringSize] = {};
66+
char mProtocolVersionBuf[kMaximumStringSize] = {};
6767
DataModel::Nullable<MeterTypeEnum> mMeterType;
6868
DataModel::Nullable<CharSpan> mPointOfDelivery;
6969
DataModel::Nullable<CharSpan> mMeterSerialNumber;
@@ -79,4 +79,4 @@ class Instance : public AttributeAccessInterface
7979
} // namespace MeterIdentification
8080
} // namespace Clusters
8181
} // namespace app
82-
} // namespace chip
82+
} // namespace chip

0 commit comments

Comments
 (0)