]> Devoid-pointer.net GitWeb - KLGD_FF_plugin.git/commitdiff
Use the KLGD command struct as intended.
authorMichal Malý <madcatxster@devoid-pointer.net>
Mon, 25 Aug 2014 23:31:49 +0000 (01:31 +0200)
committerMichal Malý <madcatxster@devoid-pointer.net>
Mon, 25 Aug 2014 23:31:49 +0000 (01:31 +0200)
klgdff.c

index c0fae08ae553309a8aba4a4c878958d4b1b96608..763355fab4b305012ec07bcae464edb9a767b157 100644 (file)
--- a/klgdff.c
+++ b/klgdff.c
@@ -16,32 +16,36 @@ static struct klgd_plugin *ff_plugin;
 static struct klgd_command * klgdff_erase(struct input_dev *dev, const struct ff_effect *effect, const int id)
 {
        char *text = kasprintf(GFP_KERNEL, "Erasing effect, type %d, id %d", effect->type, id);
-       struct klgd_command *c = klgd_alloc_cmd(strlen(text) + 1);
-       c->bytes = text;
+       size_t len = strlen(text);
+       struct klgd_command *c = klgd_alloc_cmd(len + 1);
+       memcpy(c->bytes, text, len);
        return c;
 }
 
 static struct klgd_command * klgdff_start(struct input_dev *de, const struct ff_effect *effect, const int id)
 {
        char *text = kasprintf(GFP_KERNEL, "Playing effect, type %d, id %d", effect->type, id);
-       struct klgd_command *c = klgd_alloc_cmd(strlen(text) + 1);
-       c->bytes = text;
+       size_t len = strlen(text);
+       struct klgd_command *c = klgd_alloc_cmd(len + 1);
+       memcpy(c->bytes, text, len);
        return c;
 }
 
 static struct klgd_command * klgdff_stop(struct input_dev *dev, const struct ff_effect *effect, const int id)
 {
        char *text = kasprintf(GFP_KERNEL, "Stopping effect, type %d, id %d", effect->type, id);
-       struct klgd_command *c = klgd_alloc_cmd(strlen(text) + 1);
-       c->bytes = text;
+       size_t len = strlen(text);
+       struct klgd_command *c = klgd_alloc_cmd(len + 1);
+       memcpy(c->bytes, text, len);
        return c;
 }
 
 static struct klgd_command * klgdff_upload(struct input_dev *dev, const struct ff_effect *effect, const int id)
 {
        char *text = kasprintf(GFP_KERNEL, "Uploading effect, type %d, id %d", effect->type, id);
-       struct klgd_command *c = klgd_alloc_cmd(strlen(text) + 1);
-       c->bytes = text;
+       size_t len = strlen(text);
+       struct klgd_command *c = klgd_alloc_cmd(len + 1);
+       memcpy(c->bytes, text, len);
        return c;
 }