aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/util-linux/patches/0002-lib-colors-use-static-buffers-when-parse-scheme.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/util-linux/patches/0002-lib-colors-use-static-buffers-when-parse-scheme.patch')
-rw-r--r--package/utils/util-linux/patches/0002-lib-colors-use-static-buffers-when-parse-scheme.patch126
1 files changed, 0 insertions, 126 deletions
diff --git a/package/utils/util-linux/patches/0002-lib-colors-use-static-buffers-when-parse-scheme.patch b/package/utils/util-linux/patches/0002-lib-colors-use-static-buffers-when-parse-scheme.patch
deleted file mode 100644
index ccd82fd057..0000000000
--- a/package/utils/util-linux/patches/0002-lib-colors-use-static-buffers-when-parse-scheme.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 6508db29ded734ac4ff5e5e19486c143c9eb3d89 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Fri, 21 Nov 2014 12:23:47 +0100
-Subject: [PATCH] lib/colors: use static buffers when parse scheme
-
-* use static buffers when parse scheme colors
-* cleanup deallocation on error in sequence parser
-
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
-
-This is modified upstream patch.
-
---- a/lib/colors.c
-+++ b/lib/colors.c
-@@ -416,28 +416,31 @@ static int colors_add_scheme(struct ul_c
- char *name,
- char *seq0)
- {
-- struct ul_color_scheme *cs;
-- char *seq;
-+ struct ul_color_scheme *cs = NULL;
-+ char *seq = NULL;
- int rc;
-
- if (!cc || !name || !*name || !seq0 || !*seq0)
- return -EINVAL;
-
- rc = cn_sequence(seq0, &seq);
-- free(seq0);
- if (rc)
- return rc;
-
-+ rc = -ENOMEM;
-+
- /* convert logical name (e.g. "red") to real ESC code */
- if (isalpha(*seq)) {
- const char *s = color_sequence_from_colorname(seq);
- char *p;
-
-- if (!s)
-- return -EINVAL;
-+ if (!s) {
-+ rc = -EINVAL;
-+ goto err;
-+ }
- p = strdup(s);
- if (!p)
-- return -ENOMEM;
-+ goto err;
- free(seq);
- seq = p;
- }
-@@ -447,17 +450,28 @@ static int colors_add_scheme(struct ul_c
- void *tmp = realloc(cc->schemes, (cc->nschemes + 10)
- * sizeof(struct ul_color_scheme));
- if (!tmp)
-- return -ENOMEM;
-+ goto err;
- cc->schemes = tmp;
- cc->schemes_sz = cc->nschemes + 10;
- }
-
- /* add a new item */
-- cs = &cc->schemes[cc->nschemes++];
-- cs->name = name;
-+ cs = &cc->schemes[cc->nschemes];
- cs->seq = seq;
-+ cs->name = strdup(name);
-+ if (!cs->name)
-+ goto err;
-
-+ cc->nschemes++;
- return 0;
-+err:
-+ if (cs) {
-+ free(cs->seq);
-+ free(cs->name);
-+ cs->seq = cs->name = NULL;
-+ } else
-+ free(seq);
-+ return rc;
- }
-
- /*
-@@ -543,7 +557,8 @@ static int colors_read_schemes(struct ul
- {
- int rc = 0;
- FILE *f = NULL;
-- char buf[BUFSIZ];
-+ char buf[BUFSIZ],
-+ cn[129], seq[129];
-
- if (!cc->configured)
- rc = colors_read_configuration(cc);
-@@ -560,7 +575,6 @@ static int colors_read_schemes(struct ul
- }
-
- while (fgets(buf, sizeof(buf), f)) {
-- char *cn = NULL, *seq = NULL;
- char *p = strchr(buf, '\n');
-
- if (!p) {
-@@ -576,17 +590,14 @@ static int colors_read_schemes(struct ul
- if (*p == '\0' || *p == '#')
- continue;
-
-- rc = sscanf(p, UL_SCNsA" " /* name */
-- UL_SCNsA, /* color */
-- &cn, &seq);
-- if (rc == 2 && cn && seq)
-+ rc = sscanf(p, "%128[^ ] %128[^\n ]", cn, seq);
-+ if (rc == 2 && *cn && *seq) {
- rc = colors_add_scheme(cc, cn, seq); /* set rc=0 on success */
-- if (rc) {
-- free(cn);
-- free(seq);
-+ if (rc)
-+ goto done;
- }
-- rc = 0;
- }
-+ rc = 0;
-
- done:
- if (f)