]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
zramctl: use xstrdup()
authorKarel Zak <kzak@redhat.com>
Tue, 30 Jan 2018 11:21:03 +0000 (12:21 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 30 Jan 2018 11:21:03 +0000 (12:21 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/zramctl.c

index 68cac761cb4c68f741b282f0a3a956e8ee740abf..8da7b2ddb392d6f817ffcabcd2899ab7489eaeb9 100644 (file)
@@ -423,18 +423,12 @@ static void fill_table_row(struct libscols_table *tb, struct zram *z)
                {
                        char *alg = sysfs_strdup(sysfs, "comp_algorithm");
 
-                       if (alg != NULL)        {
-
-                               char* left_br = strrchr(alg, '[');
-                               char* right_br = strrchr(alg, ']');
-
-                               if (left_br != NULL && right_br != NULL
-                                               && right_br-left_br > 1)        {
-                                       str = xmalloc(right_br-left_br);
-                                       strncpy(str, left_br+1, right_br-left_br-1);
-                                       str[right_br-left_br-1] = '\0';
-                               }
+                       if (alg != NULL) {
+                               char* lbr = strrchr(alg, '[');
+                               char* rbr = strrchr(alg, ']');
 
+                               if (lbr != NULL && rbr != NULL && rbr - lbr > 1)
+                                       str = xstrndup(lbr + 1, rbr - lbr - 1);
                                free(alg);
                        }
                        break;