replace emptystring with strdup here as well so we know we are free'ing

a malloc'd variable everytime; from Tiago Cunha
This commit is contained in:
okan 2013-01-01 14:26:29 +00:00
parent 12bed5f129
commit f67f32f8a5

View File

@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * 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> #include <sys/param.h>
@ -41,7 +41,6 @@ static void client_gethints(struct client_ctx *);
static void client_freehints(struct client_ctx *); static void client_freehints(struct client_ctx *);
static int client_inbound(struct client_ctx *, int, int); static int client_inbound(struct client_ctx *, int, int);
static char emptystring[] = "";
struct client_ctx *_curcc = NULL; struct client_ctx *_curcc = NULL;
struct client_ctx * struct client_ctx *
@ -166,8 +165,7 @@ client_delete(struct client_ctx *cc)
while ((wn = TAILQ_FIRST(&cc->nameq)) != NULL) { while ((wn = TAILQ_FIRST(&cc->nameq)) != NULL) {
TAILQ_REMOVE(&cc->nameq, wn, entry); TAILQ_REMOVE(&cc->nameq, wn, entry);
if (wn->name != emptystring) free(wn->name);
free(wn->name);
free(wn); 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, ewmh[_NET_WM_NAME].atom, &newname))
if (!xu_getstrprop(cc->win, XA_WM_NAME, &newname)) if (!xu_getstrprop(cc->win, XA_WM_NAME, &newname))
newname = emptystring; newname = xstrdup("");
TAILQ_FOREACH(wn, &cc->nameq, entry) TAILQ_FOREACH(wn, &cc->nameq, entry)
if (strcmp(wn->name, newname) == 0) { if (strcmp(wn->name, newname) == 0) {
@ -581,8 +579,7 @@ match:
wn = TAILQ_FIRST(&cc->nameq); wn = TAILQ_FIRST(&cc->nameq);
assert(wn != NULL); assert(wn != NULL);
TAILQ_REMOVE(&cc->nameq, wn, entry); TAILQ_REMOVE(&cc->nameq, wn, entry);
if (wn->name != emptystring) free(wn->name);
free(wn->name);
free(wn); free(wn);
cc->nameqlen--; cc->nameqlen--;
} }