installer: Remove key_reader variable-length array
Do not use variable-length arrays. Use an appropriately named ('k'
followed by CamelCase) compile-time constant for the size.
[runtime/arrays] [1]
BUG=b:169261043
TEST=FEATURES=test emerge-$B chromeos-installer
Change-Id: Iafd98d2ff48e77ba80776b9894632b7deef9bc8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2585663
Tested-by: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Vyshu Khota <vyshu@google.com>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
diff --git a/installer/util/key_reader.cc b/installer/util/key_reader.cc
index 5f7d6a8..c550d34 100644
--- a/installer/util/key_reader.cc
+++ b/installer/util/key_reader.cc
@@ -11,6 +11,7 @@
#include <unistd.h>
#include <utility>
+#include <vector>
#include <base/files/file_enumerator.h>
#include <base/files/scoped_file.h>
@@ -183,8 +184,8 @@
// Put char representation in buffer.
int size = xkb_state_key_get_utf8(state_, keycode, nullptr, 0) + 1;
- char buff[size];
- xkb_state_key_get_utf8(state_, keycode, buff, size);
+ std::vector<char> buff(size);
+ xkb_state_key_get_utf8(state_, keycode, buff.data(), size);
if (sym == XKB_KEY_BackSpace && !user_input_.empty()) {
user_input_.pop_back();