fix memory leak in xloadcols()
authorHiltjo Posthuma <hiltjo@codemadness.org>
Sun, 4 Nov 2018 13:35:07 +0000 (14:35 +0100)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Sun, 4 Nov 2018 13:35:07 +0000 (14:35 +0100)
reported by Avi Halachmi (:avih)" <avihpit@yahoo.com>

patch slightly changed by me.

x.c

diff --git a/x.c b/x.c
index 00cb6b1..0422421 100644 (file)
--- a/x.c
+++ b/x.c
@@ -733,12 +733,12 @@ xloadcols(void)
        static int loaded;
        Color *cp;
 
-       dc.collen = MAX(LEN(colorname), 256);
-       dc.col = xmalloc(dc.collen * sizeof(Color));
-
        if (loaded) {
                for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp)
                        XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
+       } else {
+               dc.collen = MAX(LEN(colorname), 256);
+               dc.col = xmalloc(dc.collen * sizeof(Color));
        }
 
        for (i = 0; i < dc.collen; i++)