diff options
author | Okan Demirmen <okan@cvs.openbsd.org> | 2013-01-01 14:26:30 +0000 |
---|---|---|
committer | Okan Demirmen <okan@cvs.openbsd.org> | 2013-01-01 14:26:30 +0000 |
commit | 0b80488019678c682d2ade68949f2134fdcf177c (patch) | |
tree | dcde5b269431fd8972a2092457ad89082d3b78b4 /app | |
parent | c7c9d155d2e024803cbad71069d1aa57c6208720 (diff) |
replace emptystring with strdup here as well so we know we are free'ing
a malloc'd variable everytime; from Tiago Cunha
Diffstat (limited to 'app')
-rw-r--r-- | app/cwm/client.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/app/cwm/client.c b/app/cwm/client.c index 3e52b5c6e..2a03885b4 100644 --- a/app/cwm/client.c +++ b/app/cwm/client.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: client.c,v 1.108 2013/01/01 14:19:56 okan Exp $ + * $OpenBSD: client.c,v 1.109 2013/01/01 14:26:29 okan Exp $ */ #include <sys/param.h> @@ -41,7 +41,6 @@ static void client_gethints(struct client_ctx *); static void client_freehints(struct client_ctx *); static int client_inbound(struct client_ctx *, int, int); -static char emptystring[] = ""; struct client_ctx *_curcc = NULL; struct client_ctx * @@ -166,8 +165,7 @@ client_delete(struct client_ctx *cc) while ((wn = TAILQ_FIRST(&cc->nameq)) != NULL) { TAILQ_REMOVE(&cc->nameq, wn, entry); - if (wn->name != emptystring) - free(wn->name); + free(wn->name); free(wn); } @@ -558,7 +556,7 @@ client_setname(struct client_ctx *cc) if (!xu_getstrprop(cc->win, ewmh[_NET_WM_NAME].atom, &newname)) if (!xu_getstrprop(cc->win, XA_WM_NAME, &newname)) - newname = emptystring; + newname = xstrdup(""); TAILQ_FOREACH(wn, &cc->nameq, entry) if (strcmp(wn->name, newname) == 0) { @@ -581,8 +579,7 @@ match: wn = TAILQ_FIRST(&cc->nameq); assert(wn != NULL); TAILQ_REMOVE(&cc->nameq, wn, entry); - if (wn->name != emptystring) - free(wn->name); + free(wn->name); free(wn); cc->nameqlen--; } |