From 9336b28095db97887e0b19348d84316655a7ed48 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 11 Apr 2018 17:21:51 -0700 Subject: [PATCH] ircd::m::state: Bound the stack frame size. --- ircd/m/state.cc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ircd/m/state.cc b/ircd/m/state.cc index ac51f67f3..09e5a2821 100644 --- a/ircd/m/state.cc +++ b/ircd/m/state.cc @@ -955,25 +955,25 @@ ircd::m::state::node::rep::write(const mutable_buffer &out) assert(vn <= NODE_MAX_VAL); assert(cn <= NODE_MAX_DEG); - json::value keys[kn]; + std::array keys; { for(size_t i(0); i < kn; ++i) keys[i] = this->keys[i]; } - json::value vals[vn]; + std::array vals; { for(size_t i(0); i < vn; ++i) vals[i] = this->vals[i]; }; - json::value chld[cn]; + std::array chld; { for(size_t i(0); i < cn; ++i) chld[i] = this->chld[i]; }; - json::value cnts[nn]; + std::array cnts; { for(size_t i(0); i < nn; ++i) cnts[i] = json::value{long(this->cnts[i])}; @@ -982,10 +982,10 @@ ircd::m::state::node::rep::write(const mutable_buffer &out) json::iov iov; const json::iov::push push[] { - { iov, { name::key, { keys, kn } } }, - { iov, { name::val, { vals, vn } } }, - { iov, { name::child, { chld, cn } } }, - { iov, { name::count, { cnts, nn } } }, + { iov, { name::key, { keys.data(), kn } } }, + { iov, { name::val, { vals.data(), vn } } }, + { iov, { name::child, { chld.data(), cn } } }, + { iov, { name::count, { cnts.data(), nn } } }, }; return { data(out), json::print(out, iov) };