From b7046b21792995a5b7bc43c9ad8fd7b66dddc7d3 Mon Sep 17 00:00:00 2001 From: Liam Droog <61334243+LiamDroog@users.noreply.github.com> Date: Sun, 8 Jan 2023 23:03:51 -0700 Subject: [PATCH 1/2] Change broken BadUSB link to Hak5 duckyscript quick reference webpage (#2270) * Change broken link to Hak5 duckyscript quick reference webpage * Update BadUSB syntax link --- assets/resources/badusb/demo_macos.txt | 2 +- assets/resources/badusb/demo_windows.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/resources/badusb/demo_macos.txt b/assets/resources/badusb/demo_macos.txt index 3c21a4df8..82543b28f 100644 --- a/assets/resources/badusb/demo_macos.txt +++ b/assets/resources/badusb/demo_macos.txt @@ -79,7 +79,7 @@ STRING Flipper Zero BadUSB feature is compatible with USB Rubber Ducky script fo ENTER STRING More information about script syntax can be found here: ENTER -STRING https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Duckyscript +STRING https://github.com/flipperdevices/flipperzero-firmware/blob/dev/documentation/file_formats/BadUsbScriptFormat.md ENTER STRING EOF diff --git a/assets/resources/badusb/demo_windows.txt b/assets/resources/badusb/demo_windows.txt index f304f5e8d..2ed33b3c0 100644 --- a/assets/resources/badusb/demo_windows.txt +++ b/assets/resources/badusb/demo_windows.txt @@ -80,5 +80,5 @@ STRING Flipper Zero BadUSB feature is compatible with USB Rubber Ducky script fo ENTER STRING More information about script syntax can be found here: ENTER -STRING https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Duckyscript +STRING https://github.com/flipperdevices/flipperzero-firmware/blob/dev/documentation/file_formats/BadUsbScriptFormat.md ENTER From 8d2143add54641a256a02db775ee37ae6aff49c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=82=E3=81=8F?= Date: Tue, 10 Jan 2023 03:15:03 +0900 Subject: [PATCH 2/2] Fix various issues reported on github (#2280) * Desktop: Fix use after free in slideshow view * Gui: long press toggles first letter case too * Desktop: remove debug logging --- .../services/desktop/views/desktop_view_slideshow.c | 2 +- applications/services/gui/modules/text_input.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/applications/services/desktop/views/desktop_view_slideshow.c b/applications/services/desktop/views/desktop_view_slideshow.c index 58a8f6d0c..09e155341 100644 --- a/applications/services/desktop/views/desktop_view_slideshow.c +++ b/applications/services/desktop/views/desktop_view_slideshow.c @@ -56,7 +56,7 @@ static bool desktop_view_slideshow_input(InputEvent* event, void* context) { instance->callback(DesktopSlideshowCompleted, instance->context); } update_view = true; - } else if(event->key == InputKeyOk) { + } else if(event->key == InputKeyOk && instance->timer) { if(event->type == InputTypePress) { furi_timer_start(instance->timer, DESKTOP_SLIDESHOW_POWEROFF_SHORT); } else if(event->type == InputTypeRelease) { diff --git a/applications/services/gui/modules/text_input.c b/applications/services/gui/modules/text_input.c index 7c419d96a..80680fe45 100644 --- a/applications/services/gui/modules/text_input.c +++ b/applications/services/gui/modules/text_input.c @@ -138,7 +138,7 @@ static bool char_is_lowercase(char letter) { static char char_to_uppercase(const char letter) { if(letter == '_') { return 0x20; - } else if(isalpha(letter)) { + } else if(islower(letter)) { return (letter - 0x20); } else { return letter; @@ -309,7 +309,9 @@ static void text_input_handle_ok(TextInput* text_input, TextInputModel* model, b char selected = get_selected_char(model); size_t text_length = strlen(model->text_buffer); - if(shift) { + bool toogle_case = text_length == 0; + if(shift) toogle_case = !toogle_case; + if(toogle_case) { selected = char_to_uppercase(selected); } @@ -329,9 +331,6 @@ static void text_input_handle_ok(TextInput* text_input, TextInputModel* model, b text_length = 0; } if(text_length < (model->text_buffer_size - 1)) { - if(text_length == 0 && char_is_lowercase(selected)) { - selected = char_to_uppercase(selected); - } model->text_buffer[text_length] = selected; model->text_buffer[text_length + 1] = 0; }