]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Only copy non-null pending inputdevice string arg
authorFrode Solheim <frode@fs-uae.net>
Thu, 31 Jul 2025 21:19:26 +0000 (23:19 +0200)
committerFrode Solheim <frode@fs-uae.net>
Thu, 31 Jul 2025 21:37:37 +0000 (23:37 +0200)
inputdevice.cpp

index 8004dced52033d5c9b2a1e8c1af73a3900c101aa..5c9d85093f3340f5db774d81bfea49e9c62c8994 100644 (file)
@@ -4616,7 +4616,7 @@ void inputdevice_add_inputcode (int code, int state, const TCHAR *s)
                        if (!inputdevice_handle_inputcode_immediate(code, state)) {
                                inputcode_pending[i].code = code;
                                inputcode_pending[i].state = state;
-                               inputcode_pending[i].s = my_strdup(s);
+                               inputcode_pending[i].s = s ? my_strdup(s) : NULL;
                        }
                        return;
                }
@@ -5264,10 +5264,10 @@ void inputdevice_handle_inputcode(void)
        for (int i = 0; i < MAX_PENDING_EVENTS; i++) {
                int code = inputcode_pending[i].code;
                int state = inputcode_pending[i].state;
-               const TCHAR *s = inputcode_pending[i].s;
+               TCHAR *s = inputcode_pending[i].s;
                if (code) {
                        if (!inputdevice_handle_inputcode2(monid, code, state, s)) {
-                               xfree(inputcode_pending[i].s);
+                               xfree(s);
                                inputcode_pending[i].code = 0;
                        }
                        got = true;