From 88eb98dd9e0b28380385fe1eb642cc674037eea7 Mon Sep 17 00:00:00 2001 From: Willy-JL Date: Fri, 20 Jan 2023 21:14:59 +0000 Subject: [PATCH] Fix sonarcloud bugs --- applications/main/u2f/views/u2f_view.c | 34 ++++++++----------- .../desktop/animations/animation_manager.c | 2 +- .../desktop/animations/animation_storage.c | 17 +++++----- 3 files changed, 24 insertions(+), 29 deletions(-) diff --git a/applications/main/u2f/views/u2f_view.c b/applications/main/u2f/views/u2f_view.c index 05e3ca715..8fce28950 100644 --- a/applications/main/u2f/views/u2f_view.c +++ b/applications/main/u2f/views/u2f_view.c @@ -15,15 +15,13 @@ typedef struct { static void u2f_view_draw_callback(Canvas* canvas, void* _model) { U2fModel* model = _model; - XtremeSettings* xtreme_settings = XTREME_SETTINGS(); - XtremeAssets* xtreme_assets = XTREME_ASSETS(); canvas_draw_icon(canvas, 8, 14, &I_Drive_112x35); canvas_set_font(canvas, FontSecondary); if(model->display_msg == U2fMsgNotConnected) { - canvas_draw_icon(canvas, 22, 15, xtreme_assets->connect_me); - if(xtreme_settings->sfw_mode) { + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->connect_me); + if(XTREME_SETTINGS()->sfw_mode) { canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Connect to a device"); } else { @@ -31,47 +29,43 @@ static void u2f_view_draw_callback(Canvas* canvas, void* _model) { canvas, 128 / 2, 3, AlignCenter, AlignTop, "Plug me in d-daddy"); } } else if(model->display_msg == U2fMsgIdle) { - canvas_draw_icon(canvas, 22, 15, xtreme_assets->connected); - if(xtreme_settings->sfw_mode) { - canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Connected!"); - } else { - canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Connected!"); - } + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->connected); + canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Connected!"); } else if(model->display_msg == U2fMsgRegister) { - if(xtreme_settings->sfw_mode) { + if(XTREME_SETTINGS()->sfw_mode) { elements_button_center(canvas, "OK"); - canvas_draw_icon(canvas, 22, 15, xtreme_assets->authenticate); + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->authenticate); canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Press OK to register"); } else { elements_button_center(canvas, "CUM"); - canvas_draw_icon(canvas, 22, 15, xtreme_assets->authenticate); + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->authenticate); canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Press CUM to register"); } } else if(model->display_msg == U2fMsgAuth) { - if(xtreme_settings->sfw_mode) { + if(XTREME_SETTINGS()->sfw_mode) { elements_button_center(canvas, "OK"); - canvas_draw_icon(canvas, 22, 15, xtreme_assets->authenticate); + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->authenticate); canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Press OK to authenticate"); } else { elements_button_center(canvas, "CUM"); - canvas_draw_icon(canvas, 22, 15, xtreme_assets->authenticate); + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->authenticate); canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Press CUM to authenticate"); } } else if(model->display_msg == U2fMsgSuccess) { - canvas_draw_icon(canvas, 22, 15, xtreme_assets->connected); - if(xtreme_settings->sfw_mode) { + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->connected); + if(XTREME_SETTINGS()->sfw_mode) { canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Authentication successful!"); } else { canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Cum released~"); } } else if(model->display_msg == U2fMsgError) { - canvas_draw_icon(canvas, 22, 15, xtreme_assets->error); - if(xtreme_settings->sfw_mode) { + canvas_draw_icon(canvas, 22, 15, XTREME_ASSETS()->error); + if(XTREME_SETTINGS()->sfw_mode) { canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Certificate error"); } else { diff --git a/applications/services/desktop/animations/animation_manager.c b/applications/services/desktop/animations/animation_manager.c index 7d4d2d7c6..c00679d04 100644 --- a/applications/services/desktop/animations/animation_manager.c +++ b/applications/services/desktop/animations/animation_manager.c @@ -407,7 +407,7 @@ static StorageAnimation* } } - uint32_t lucky_number = furi_hal_random_get() % whole_weight; + uint32_t lucky_number = furi_hal_random_get() % (whole_weight != 0 ? whole_weight : 1); uint32_t weight = 0; StorageAnimation* selected = NULL; diff --git a/applications/services/desktop/animations/animation_storage.c b/applications/services/desktop/animations/animation_storage.c index 804f4e924..caf866eaf 100644 --- a/applications/services/desktop/animations/animation_storage.c +++ b/applications/services/desktop/animations/animation_storage.c @@ -32,23 +32,24 @@ static BubbleAnimation* animation_storage_load_animation(const char* name); void animation_handler_select_manifest() { XtremeSettings* xtreme_settings = XTREME_SETTINGS(); + FuriString* anim_dir = furi_string_alloc(); if (xtreme_settings->asset_pack[0] != '\0') { - snprintf(ANIMATION_DIR, sizeof(PACKS_DIR), "%s", PACKS_DIR); + furi_string_printf(anim_dir, "%s/%s/Anims", PACKS_DIR, xtreme_settings->asset_pack); FURI_LOG_I(TAG, "Custom Manifest selected"); - strcat(ANIMATION_DIR, "/"); - strcat(ANIMATION_DIR, xtreme_settings->asset_pack); - strcat(ANIMATION_DIR, "/Anims"); } else { - snprintf(ANIMATION_DIR, sizeof(BASE_ANIMATION_DIR), "%s", BASE_ANIMATION_DIR); + furi_string_cat_str(anim_dir, BASE_ANIMATION_DIR); if(xtreme_settings->sfw_mode) { + furi_string_cat_str(anim_dir, "/sfw"); FURI_LOG_I(TAG, "SFW Manifest selected"); - strcat(ANIMATION_DIR, "/sfw"); } else { + furi_string_cat_str(anim_dir, "/nsfw"); FURI_LOG_I(TAG, "NSFW Manifest selected"); - strcat(ANIMATION_DIR, "/nsfw"); } } - snprintf(ANIMATION_MANIFEST_FILE, sizeof(ANIMATION_MANIFEST_FILE), "%s/manifest.txt", ANIMATION_DIR); + strlcpy(ANIMATION_DIR, furi_string_get_cstr(anim_dir), sizeof(ANIMATION_DIR)); + furi_string_cat_str(anim_dir, "/manifest.txt"); + strlcpy(ANIMATION_MANIFEST_FILE, furi_string_get_cstr(anim_dir), sizeof(ANIMATION_MANIFEST_FILE)); + furi_string_free(anim_dir); } static bool animation_storage_load_single_manifest_info(