about summary refs log tree commit diff
diff options
context:
space:
mode:
authorokan <okan>2013-07-08 15:48:16 +0000
committerokan <okan>2013-07-08 15:48:16 +0000
commitfe439f2b965b9ee6e9dc9a6d8e2ecb443f86e788 (patch)
tree95a1c4c74a8a16b42e68adca5f251b64ec0c84ed
parent7a7e5cd59254ab17f1f37affa868858160eca07a (diff)
downloadcwm-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
-rw-r--r--group.c4
-rw-r--r--xutil.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/group.c b/group.c
index f7a0a2d..a25972a 100644
--- a/group.c
+++ b/group.c
@@ -430,8 +430,8 @@ group_update_names(struct screen_ctx *sc)
 		}
 	}
 
-	strings = xmalloc((nstrings < CALMWM_NGROUPS ? CALMWM_NGROUPS :
-	    nstrings) * sizeof(*strings));
+	strings = xcalloc((nstrings < CALMWM_NGROUPS ? CALMWM_NGROUPS :
+	    nstrings), sizeof(*strings));
 
 	p = (char *)prop_ret;
 	while (n < nstrings) {
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)