Signed-off-by: Michael Brown <mcb30@ipxe.org>
static struct settings *
parse_settings_name ( const char *name, get_child_settings_t get_child ) {
struct settings *settings = &settings_root;
- char name_copy[ strlen ( name ) + 1 ];
+ char *name_copy;
char *subname;
char *remainder;
/* Create modifiable copy of name */
- memcpy ( name_copy, name, sizeof ( name_copy ) );
+ name_copy = strdup ( name );
+ if ( ! name_copy )
+ return NULL;
remainder = name_copy;
/* Parse each name component in turn */
break;
}
+ /* Free modifiable copy of name */
+ free ( name_copy );
+
return settings;
}