diff --git a/drivers/staging/fbtft/fbtft-sysfs.c b/drivers/staging/fbtft/fbtft-sysfs.c index 45f8de3d11ad45d0b9e49364550e957f23f9d1e2..ba4551fcb9f0a5e2450fd623c2e90c0574daa92c 100644 --- a/drivers/staging/fbtft/fbtft-sysfs.c +++ b/drivers/staging/fbtft/fbtft-sysfs.c @@ -37,10 +37,9 @@ int fbtft_gamma_parse_str(struct fbtft_par *par, unsigned long *curves, fbtft_par_dbg(DEBUG_SYSFS, par, "%s\n", str); - tmp = kmalloc(size+1, GFP_KERNEL); + tmp = kmemdup(str, size + 1, GFP_KERNEL); if (!tmp) return -ENOMEM; - memcpy(tmp, str, size+1); /* replace optional separators */ str_p = tmp;