summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys-utils/zramctl.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/sys-utils/zramctl.c b/sys-utils/zramctl.c
index 68cac761c..8da7b2ddb 100644
--- a/sys-utils/zramctl.c
+++ b/sys-utils/zramctl.c
@@ -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;