The kernfs code guarantees we'll get a NUL-terminated buffer.
Use kstrdup() rather than kzalloc() + memcpy() in state_store()
making it slightly clearer what we're doing. This has the added
benefit of guaranteeing that the stored string has no NUL character
inside it.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
struct gb_bundle *bundle = to_gb_bundle(dev);
kfree(bundle->state);
- bundle->state = kzalloc(size + 1, GFP_KERNEL);
+ bundle->state = kstrdup(buf, GFP_KERNEL);
if (!bundle->state)
return -ENOMEM;
- memcpy(bundle->state, buf, size);
-
/* Tell userspace that the file contents changed */
sysfs_notify(&bundle->dev.kobj, NULL, "state");