Fixed crash

pull/90/head
parent 35def97b90
commit 83c1167f62

@ -120,8 +120,10 @@ char *yon_char_new(const char *chr)
{ {
if (chr){ if (chr){
char *newchar = malloc(strlen(chr) + 1); char *newchar = malloc(strlen(chr) + 1);
if (newchar){
memset(newchar, 0, strlen(chr) + 1); memset(newchar, 0, strlen(chr) + 1);
memcpy(newchar, chr, strlen(chr)); memcpy(newchar, chr, strlen(chr));
}
return newchar; return newchar;
} else } else
return NULL; return NULL;
@ -543,7 +545,7 @@ config_str yon_char_parsed_new (int *size, ...){
void yon_char_parsed_free(config_str source, int size){ void yon_char_parsed_free(config_str source, int size){
if (source&&size>0){ if (source&&size>0){
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
if (source[i]){ if (!yon_char_is_empty(source[i])){
free(source[i]); free(source[i]);
} }
} }
@ -564,8 +566,10 @@ config_str yon_char_parsed_copy(config_str to_copy, int size){
config_str yon_char_parsed_append(config_str parsed, int *size, char *string){ config_str yon_char_parsed_append(config_str parsed, int *size, char *string){
config_str new_parsed=realloc(parsed,(*size+1)*sizeof(char*)); config_str new_parsed=realloc(parsed,(*size+1)*sizeof(char*));
if (new_parsed){
new_parsed[(*size)]=yon_char_new(string); new_parsed[(*size)]=yon_char_new(string);
(*size)++; (*size)++;
}
return new_parsed; return new_parsed;
} }

@ -2066,6 +2066,8 @@ int yon_config_custom_swap(yon_config_custom **target){
int yon_config_custom_apply(yon_config_custom **target){ int yon_config_custom_apply(yon_config_custom **target){
yon_config_clean(); yon_config_clean();
if (target){
__yon__config__strings = ((yon_config_parameter *)*target)->first; __yon__config__strings = ((yon_config_parameter *)*target)->first;
}
*target=NULL; *target=NULL;
} }
Loading…
Cancel
Save