Clamp string reads to buffer size
This commit is contained in:
parent
dc18a1261c
commit
df42100320
|
@ -162,9 +162,11 @@ private:
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
std::string output(length, '\0');
|
const auto length_to_read = std::min(length, data.size() - offset);
|
||||||
std::memcpy(output.data(), data.data() + offset, length);
|
|
||||||
offset += length;
|
std::string output(length_to_read, '\0');
|
||||||
|
std::memcpy(output.data(), data.data() + offset, length_to_read);
|
||||||
|
offset += length_to_read;
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue