diff options
Diffstat (limited to 'arch/sparc/kernel/prom_64.c')
| -rw-r--r-- | arch/sparc/kernel/prom_64.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/sparc/kernel/prom_64.c b/arch/sparc/kernel/prom_64.c index ba82884cb92a..aa4799cbb9c1 100644 --- a/arch/sparc/kernel/prom_64.c +++ b/arch/sparc/kernel/prom_64.c @@ -361,14 +361,16 @@ char * __init build_path_component(struct device_node *dp)  {  	const char *name = of_get_property(dp, "name", NULL);  	char tmp_buf[64], *n; +	size_t n_sz;  	tmp_buf[0] = '\0';  	__build_path_component(dp, tmp_buf);  	if (tmp_buf[0] == '\0') -		strcpy(tmp_buf, name); +		strscpy(tmp_buf, name); -	n = prom_early_alloc(strlen(tmp_buf) + 1); -	strcpy(n, tmp_buf); +	n_sz = strlen(tmp_buf) + 1; +	n = prom_early_alloc(n_sz); +	strscpy(n, tmp_buf, n_sz);  	return n;  }  | 
