Skip to content

Commit

Permalink
[styles.c] remove / from style name to avoid crash
Browse files Browse the repository at this point in the history
removes `/` from style names replacing it with `-` in order to
avoid pottential crash in `dt_accel_connect_shortcut`

fixes darktable-org#10686
  • Loading branch information
johnny-bit authored and TurboGit committed Jan 8, 2022
1 parent 879d37e commit 02b2635
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/common/styles.c
Original file line number Diff line number Diff line change
Expand Up @@ -1573,8 +1573,10 @@ void dt_init_styles_key_accels()
for(GList *res_iter = result; res_iter; res_iter = g_list_next(res_iter))
{
dt_style_t *style = (dt_style_t *)res_iter->data;
gchar* tmp_name = g_strdelimit(g_strdup(style->name), "/", '-');
char tmp_accel[1024];
snprintf(tmp_accel, sizeof(tmp_accel), C_("accel", "styles/apply %s"), style->name);
snprintf(tmp_accel, sizeof(tmp_accel), C_("accel", "styles/apply %s"), tmp_name);
g_free(tmp_name);
dt_accel_register_global(tmp_accel, 0, 0);
}
g_list_free_full(result, dt_style_free);
Expand All @@ -1592,8 +1594,10 @@ void dt_connect_styles_key_accels()
dt_style_t *style = (dt_style_t *)res_iter->data;
closure = g_cclosure_new(G_CALLBACK(_apply_style_shortcut_callback), g_strdup(style->name),
_destroy_style_shortcut_callback);
gchar* tmp_name = g_strdelimit(g_strdup(style->name), "/", '-');
char tmp_accel[1024];
snprintf(tmp_accel, sizeof(tmp_accel), C_("accel", "styles/apply %s"), style->name);
snprintf(tmp_accel, sizeof(tmp_accel), C_("accel", "styles/apply %s"), tmp_name);
g_free(tmp_name);
dt_accel_connect_global(tmp_accel, closure);
}
g_list_free_full(result, dt_style_free);
Expand Down

0 comments on commit 02b2635

Please sign in to comment.