commit 8b48986f4c730725367e2865e5ea24931855018f from: Hiltjo Posthuma date: Mon Sep 29 16:47:16 2025 UTC drw.c: drw_scm_free: call free inside Because drw_scm_create() allocates it. commit - 77f96d704bd16b04fe731da815a4e76c4e62decb commit + 8b48986f4c730725367e2865e5ea24931855018f blob - 9bad959d0849fb4c00a486ce74c0eefc29236e3b blob + 9577b3736d6c4577ce7a32e285f072e3fbcb496f --- dmenu.c +++ dmenu.c @@ -101,10 +101,8 @@ cleanup(void) size_t i; XUngrabKeyboard(dpy, CurrentTime); - for (i = 0; i < SchemeLast; i++) { + for (i = 0; i < SchemeLast; i++) drw_scm_free(drw, scheme[i], 2); - free(scheme[i]); - } for (i = 0; items && items[i].text; ++i) free(items[i].text); free(items); blob - 98dbaa8304cc6303925ecf384a09cb9076c96349 blob + 9fdd1a46af7c25aea000980dd0caf54f92d69ab0 --- drw.c +++ 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