parisc: pdc_stable.c: Cleaning up unnecessary use of memset in conjunction with strncpy
authorRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Sun, 14 Sep 2014 16:02:12 +0000 (18:02 +0200)
committerHelge Deller <deller@gmx.de>
Sun, 21 Sep 2014 19:07:48 +0000 (21:07 +0200)
Using memset before strncpy just to ensure a trailing null character is
an unnecessary double writing of a string

Patch modified by Helge Deller to additionally reduce stack usage.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/parisc/pdc_stable.c

index 0f54ab6260dfdcd719542e2a420db5b568b15ba4..e4b73c2a053af704c54e88cfc6a1a64b9b799ce2 100644 (file)
@@ -755,7 +755,7 @@ static ssize_t pdcs_auto_write(struct kobject *kobj,
 {
        struct pdcspath_entry *pathentry;
        unsigned char flags;
-       char in[count+1], *temp;
+       char in[8], *temp;
        char c;
 
        if (!capable(CAP_SYS_ADMIN))
@@ -765,8 +765,9 @@ static ssize_t pdcs_auto_write(struct kobject *kobj,
                return -EINVAL;
 
        /* We'll use a local copy of buf */
-       memset(in, 0, count+1);
+       count = min_t(size_t, count, 7);
        strncpy(in, buf, count);
+       in[count] = '\0';
 
        /* Current flags are stored in primary boot path entry */
        pathentry = &pdcspath_entry_primary;