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[")){ if (strstr(name,"USERADD[")){
int size; int size;
config_str parsed = yon_char_parse(new_value,&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]="******"; 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); 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); 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[")){ } else if (strstr(name,"GROUPADD[")){
int size; int size;
config_str parsed = yon_char_parse(new_value,&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]="******"; 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); 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); 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")){ } else if (strstr(name,"DEFAULTPASSWD")){
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); char *new_compare = yon_char_unite("<s>",old_value,"</s>\n",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1); gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare); 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")){ } 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); char *new_compare = yon_char_unite("<s>",old_value,"</s>\n******",NULL);
gtk_list_store_set(window->list,&iter,7,new_compare,-1); gtk_list_store_set(window->list,&iter,7,new_compare,-1);
free(new_compare); 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