From e13c9d6888a2a5d223c29e5600b9d8007927185a Mon Sep 17 00:00:00 2001 From: David Fenyes Date: Tue, 14 Dec 2021 11:31:39 -0600 Subject: [PATCH] BugFix: asdf_buffer_get: check for valid handle Was only testing for handle less than next_handle, but not checking for negative handle values. Fixed to use buffer_handle_valid() to test for a valid handle. --- firmware/asdf/src/asdf_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/asdf/src/asdf_buffer.c b/firmware/asdf/src/asdf_buffer.c index b88636f..83f56e1 100644 --- a/firmware/asdf/src/asdf_buffer.c +++ b/firmware/asdf/src/asdf_buffer.c @@ -193,7 +193,7 @@ void asdf_buffer_put(asdf_buffer_handle_t handle, asdf_keycode_t code) asdf_keycode_t asdf_buffer_get(asdf_buffer_handle_t handle) { asdf_keycode_t code = ASDF_INVALID_CODE; - if (handle < next_handle && buffers[handle].count) { + if (buffer_handle_valid(handle) && buffers[handle].count) { code = buffers[handle].buf[buffers[handle].tail]; buffers[handle].tail = (buffers[handle].tail + 1) % buffers[handle].size; buffers[handle].count--;