[ntcore] WireDecodeBinary: Fix some mpack paths (#8738)

This commit is contained in:
Peter Johnson
2026-04-10 12:28:17 -07:00
committed by GitHub
parent 7e86c10a28
commit b7fe3dad46

View File

@@ -581,9 +581,12 @@ bool wpi::nt::net::WireDecodeBinary(std::span<const uint8_t>* in, int* outId,
}
default:
*error = fmt::format("unrecognized type {}", type);
mpack_done_array(&reader);
mpack_reader_destroy(&reader);
return false;
}
mpack_done_array(&reader);
auto remaining = mpack_reader_remaining(&reader, nullptr);
auto err = mpack_reader_destroy(&reader);
if (err != mpack_ok) {
*error = mpack_error_to_string(err);
@@ -593,6 +596,6 @@ bool wpi::nt::net::WireDecodeBinary(std::span<const uint8_t>* in, int* outId,
outValue->SetServerTime(time);
outValue->SetTime(time == 0 ? 0 : time + localTimeOffset);
// update input range
*in = wpi::util::take_back(*in, mpack_reader_remaining(&reader, nullptr));
*in = wpi::util::take_back(*in, remaining);
return true;
}