diff options
author | okan <okan> | 2013-07-08 15:48:16 +0000 |
---|---|---|
committer | okan <okan> | 2013-07-08 15:48:16 +0000 |
commit | fe439f2b965b9ee6e9dc9a6d8e2ecb443f86e788 (patch) | |
tree | 95a1c4c74a8a16b42e68adca5f251b64ec0c84ed /xutil.c | |
parent | 7a7e5cd59254ab17f1f37affa868858160eca07a (diff) | |
download | cwm-fe439f2b965b9ee6e9dc9a6d8e2ecb443f86e788.tar.gz cwm-fe439f2b965b9ee6e9dc9a6d8e2ecb443f86e788.tar.xz cwm-fe439f2b965b9ee6e9dc9a6d8e2ecb443f86e788.zip |
replace a few (x)malloc with (x)calloc to prevent potential integer
overflows; from Tiago Cunha
Diffstat (limited to 'xutil.c')
-rw-r--r-- | xutil.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/xutil.c b/xutil.c index 6eeaf72..f7f2000 100644 --- a/xutil.c +++ b/xutil.c @@ -291,7 +291,7 @@ xu_ewmh_net_client_list(struct screen_ctx *sc) if (i == 0) return; - winlist = xmalloc(i * sizeof(*winlist)); + winlist = xcalloc(i, sizeof(*winlist)); TAILQ_FOREACH(cc, &Clientq, entry) winlist[j++] = cc->win; XChangeProperty(X_Dpy, sc->rootwin, ewmh[_NET_CLIENT_LIST].atom, @@ -382,7 +382,7 @@ xu_ewmh_get_net_wm_state(struct client_ctx *cc, int *n) (u_char **)&p)) <= 0) return (NULL); - state = xmalloc(*n * sizeof(Atom)); + state = xcalloc(*n, sizeof(Atom)); memcpy(state, p, *n * sizeof(Atom)); XFree((char *)p); @@ -449,7 +449,7 @@ xu_ewmh_set_net_wm_state(struct client_ctx *cc) int n, i, j; oatoms = xu_ewmh_get_net_wm_state(cc, &n); - atoms = xmalloc((n + _NET_WM_STATES_NITEMS) * sizeof(Atom)); + atoms = xcalloc((n + _NET_WM_STATES_NITEMS), sizeof(Atom)); for (i = j = 0; i < n; i++) { if (oatoms[i] != ewmh[_NET_WM_STATE_MAXIMIZED_HORZ].atom && oatoms[i] != ewmh[_NET_WM_STATE_MAXIMIZED_VERT].atom) |