diff --git a/src/config.c b/src/config.c index e584dd3..ab179ca 100644 --- a/src/config.c +++ b/src/config.c @@ -12,7 +12,7 @@ * it on Windows XP, and possibly also Vista. Use the * -DANSI_CFG for use on these systems. * - * Version: @(#)config.c 1.0.42 2019/02/12 + * Version: @(#)config.c 1.0.43 2019/02/23 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -203,7 +203,7 @@ create_section(const char *name) section_t *ns = (section_t *)mem_alloc(sizeof(section_t)); memset(ns, 0x00, sizeof(section_t)); - strncpy(ns->name, name, strlen(ns->name)); + strncpy(ns->name, name, sizeof(ns->name) - 1); list_add(&ns->list, &config_head); return(ns); @@ -216,7 +216,7 @@ create_entry(section_t *section, const char *name) entry_t *ne = (entry_t *)mem_alloc(sizeof(entry_t)); memset(ne, 0x00, sizeof(entry_t)); - strncpy(ne->name, name, strlen(ne->name)); + strncpy(ne->name, name, sizeof(ne->name) - 1); list_add(&ne->list, §ion->entry_head); return(ne); @@ -443,10 +443,7 @@ save_machine(const char *cat) else config_set_int(cat, "cpu_waitstates", cpu_waitstates); - if (mem_size == 4096) - config_delete_var(cat, "mem_size"); - else - config_set_int(cat, "mem_size", mem_size); + config_set_int(cat, "mem_size", mem_size); config_set_int(cat, "cpu_use_dynarec", cpu_use_dynarec); @@ -520,20 +517,20 @@ load_input(const char *cat) //FIXME: should be an internal_name string!! joystick_type = config_get_int(cat, "joystick_type", 0); - for (c=0; cwdata, val, sizeof_w(ent->wdata)); + wcsncpy(ent->wdata, val, sizeof_w(ent->wdata)); wcstombs(ent->data, ent->wdata, sizeof(ent->data)); }