pw_kvs: Check that AlignedWrite buffer is at least write alignment Check that the internal buffer for AlignedWrite<> is at least the size of the write alignment that was given as an argument. Change-Id: Ia438bfcac2540ca6c2b06ea9383a7682d158e7d9
diff --git a/pw_kvs/public/pw_kvs/alignment.h b/pw_kvs/public/pw_kvs/alignment.h index b2dcbc3..2663846 100644 --- a/pw_kvs/public/pw_kvs/alignment.h +++ b/pw_kvs/public/pw_kvs/alignment.h
@@ -97,6 +97,12 @@ StatusWithSize AlignedWrite(Output& output, size_t alignment_bytes, span<const span<const std::byte>> data) { + // TODO: This should convert to PW_CHECK once that is available for use in + // host tests. + if (alignment_bytes > kBufferSize) { + return StatusWithSize(Status::INTERNAL); + } + AlignedWriterBuffer<kBufferSize> buffer(alignment_bytes, output); for (const span<const std::byte>& chunk : data) {