[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 02/18] ui: Fix silent truncation of numeric keys in HMP sendke
From: |
Markus Armbruster |
Subject: |
[PATCH v3 02/18] ui: Fix silent truncation of numeric keys in HMP sendkey |
Date: |
Tue, 20 Dec 2022 10:06:29 +0100 |
Keys are int. HMP sendkey assigns them from the value strtoul(),
silently truncating values greater than INT_MAX. Fix to reject them.
While there, use qemu_strtoul() instead of strtoul() so checkpatch.pl
won't complain.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
monitor/hmp-cmds.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
index ed78a87ddd..b8e294e6fa 100644
--- a/monitor/hmp-cmds.c
+++ b/monitor/hmp-cmds.c
@@ -1549,8 +1549,13 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
v = g_malloc0(sizeof(*v));
if (strstart(keys, "0x", NULL)) {
- char *endp;
- int value = strtoul(keys, &endp, 0);
+ const char *endp;
+ unsigned long value;
+
+ if (qemu_strtoul(keys, &endp, 0, &value) < 0
+ || value >= INT_MAX) {
+ goto err_out;
+ }
assert(endp <= keys + keyname_len);
if (endp != keys + keyname_len) {
goto err_out;
--
2.38.1
- [PATCH v3 00/18] ui: Move and clean up monitor command code, Markus Armbruster, 2022/12/20
- [PATCH v3 02/18] ui: Fix silent truncation of numeric keys in HMP sendkey,
Markus Armbruster <=
- [PATCH v3 04/18] Revert "hmp: info spice: take out webdav", Markus Armbruster, 2022/12/20
- [PATCH v3 10/18] ui: Factor out qmp_add_client() parts and move to ui/ui-qmp-cmds.c, Markus Armbruster, 2022/12/20
- [PATCH v3 09/18] ui: Move QMP commands from monitor to new ui/ui-qmp-cmds.c, Markus Armbruster, 2022/12/20
- [PATCH v3 01/18] ui: Check numeric part of expire_password argument @time properly, Markus Armbruster, 2022/12/20
- [PATCH v3 13/18] ui: Improve "change vnc" error reporting, Markus Armbruster, 2022/12/20
- [PATCH v3 18/18] ui: Simplify control flow in qemu_mouse_set(), Markus Armbruster, 2022/12/20
- [PATCH v3 07/18] ui/spice: Give hmp_info_spice()'s channel_names[] static linkage, Markus Armbruster, 2022/12/20