diff --git a/drw.c b/drw.c index 98dbaa8..9fdd1a4 100644 --- a/drw.c +++ b/drw.c @@ -215,6 +215,7 @@ drw_scm_free(Drw *drw, Clr *scm, size_t clrcount) for (i = 0; i < clrcount; i++) drw_clr_free(drw, &scm[i]); + free(scm); } void diff --git a/dwm.c b/dwm.c index 21cf8fd..4f345ee 100644 --- a/dwm.c +++ b/dwm.c @@ -485,10 +485,8 @@ cleanup(void) cleanupmon(mons); for (i = 0; i < CurLast; i++) drw_cur_free(drw, cursor[i]); - for (i = 0; i < LENGTH(colors); i++) { + for (i = 0; i < LENGTH(colors); i++) drw_scm_free(drw, scheme[i], 3); - free(scheme[i]); - } free(scheme); XDestroyWindow(dpy, wmcheckwin); drw_free(drw);