Fixed saving crash

pull/95/head
parent 20fcb7ecec
commit 5b093d3bb5

@ -138,33 +138,54 @@ void yon_hide_passwords(template_saving_window *window){
if (strstr(name,"USERADD[")){
int size;
config_str parsed = yon_char_parse(new_value,&size,":");
if (parsed[5][0] !='$'&&parsed[5][0]!='%'){
if (size>5 &&parsed[5][0] !='$'&&parsed[5][0]!='%'){
parsed[5]="******";
char *new_compare = yon_char_unite(!yon_char_is_empty(old_value)?"<s>":"",!yon_char_is_empty(old_value)?old_value:"",!yon_char_is_empty(old_value)?"</s>":"","\n",yon_char_parsed_to_string(parsed,size,":"),NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
} else {
char *new_compare = yon_char_unite(!yon_char_is_empty(old_value)?"<s>":"",!yon_char_is_empty(old_value)?old_value:"",!yon_char_is_empty(old_value)?"</s>":"","\n",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
}
} else if (strstr(name,"GROUPADD[")){
int size;
config_str parsed = yon_char_parse(new_value,&size,":");
if (parsed[4][0] !='$'&&parsed[4][0]!='%'){
if (size>4&&parsed[4][0] !='$'&&parsed[4][0]!='%'){
parsed[4]="******";
char *new_compare = yon_char_unite(!yon_char_is_empty(old_value)?"<s>":"",!yon_char_is_empty(old_value)?old_value:"",!yon_char_is_empty(old_value)?"</s>":"","\n",yon_char_parsed_to_string(parsed,size,":"),NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
} else {
char *new_compare = yon_char_unite(!yon_char_is_empty(old_value)?"<s>":"",!yon_char_is_empty(old_value)?old_value:"",!yon_char_is_empty(old_value)?"</s>":"","\n",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
}
} else if (strstr(name,"DEFAULTPASSWD")){
if (new_value[0] !='$'&&new_value[0]!='%'){
char *new_compare = yon_char_unite("<s>",old_value,"</s>\n******",NULL);
if (!yon_char_is_empty(new_value) && new_value[0] !='$'&&new_value[0]!='%'){
char *new_compare = yon_char_unite("<s>",old_value,"</s>\n",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
} else {
char *new_compare = yon_char_unite("<s>",old_value,"</s>\n",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
}
} else if (strstr(name,"DEFAULTROOTPASSWD")){
if (new_value[0] !='$'&&new_value[0]!='%'){
if (!yon_char_is_empty(new_value) &&new_value[0] !='$'&&new_value[0]!='%'){
char *new_compare = yon_char_unite("<s>",old_value,"</s>\n******",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
} else {
char *new_compare = yon_char_unite("<s>",old_value,"</s>\n******",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare);
}
}

Loading…
Cancel
Save