From 3c442f2fd52388f61e8fb05d3083af125b71bc0f Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 2 Mar 2026 16:03:40 +0600 Subject: [PATCH] Fixed bootload user password --- source/ubinstall-gtk-bootloader.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c index 2897eb3..55a0348 100644 --- a/source/ubinstall-gtk-bootloader.c +++ b/source/ubinstall-gtk-bootloader.c @@ -46,6 +46,8 @@ void yon_password_change(GtkWidget *, bootloader_user_window *window){ yon_password_window *dialog = yon_password_open(output_target); yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),NULL,icon_path,"password_window"); gtk_widget_show(window->Window); + yon_password_hash_list_set(dialog,NULL,NULL,0); + // gtk_widget_hide(window->AdminCheck); } @@ -68,7 +70,7 @@ void on_bootloader_user_accept(GtkWidget *, bootloader_user_window *window){ } } } - const char *password = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + char *password = yon_char_new(gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry))); if (yon_char_is_empty(username)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->UsernameEntry); @@ -78,6 +80,11 @@ void on_bootloader_user_accept(GtkWidget *, bootloader_user_window *window){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->PasswordEntry); return; + } else { + if (strstr(password,"|")){ + int pos = yon_char_find_last(password,'|'); + free(yon_char_divide(password,pos)); + } } if (!yon_char_is_empty(window->prev_name)&&strcmp(username,window->prev_name)){ yon_config_remove_by_key(GRUB_PASSWORD(window->prev_name)); @@ -96,6 +103,7 @@ void on_bootloader_user_accept(GtkWidget *, bootloader_user_window *window){ } } yon_config_register(GRUB_PASSWORD(username),GRUB_SUPERUSERS_parameter_command,(char*)password); + free(password); GtkTreeIter iter; gtk_list_store_append(widgets->BootloadUsersList,&iter); gtk_list_store_set(widgets->BootloadUsersList,&iter,0,gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->AdminCheck)),1,username,2,"******",-1);