add: wfree(buffer);
context: killCallback(WMenu *menu, WMenuEntry *entry){    WAppIcon *icon;#ifdef REDUCE_APPICONS    WAppIconAppList *tapplist;    extern Atom _XA_WM_DELETE_WINDOW;#else    char *buffer;#endif    if (!WCHECK_STATE(WSTATE_NORMAL))	return;    assert(entry->clientdata!=NULL);    icon = (WAppIcon*)entry->clientdata;    icon->editing = 1;    WCHANGE_STATE(WSTATE_MODAL);#ifdef REDUCE_APPICONS    /* Send a delete message to the main window of each application     * bound to this docked appicon. - cls     */    tapplist = icon->applist;    while (tapplist != NULL) {	if (tapplist->wapp->main_window_desc != NULL) {	    if (tapplist->wapp->main_window_desc->protocols.DELETE_WINDOW) {		wClientSendProtocol(tapplist->wapp->main_window_desc,				    _XA_WM_DELETE_WINDOW, CurrentTime);	    } else {		wClientKill(tapplist->wapp->main_window_desc);	    }	}	tapplist = tapplist->next;    }#else    buffer = wstrappend(icon->wm_class,			_(" will be forcibly closed.\n"			  "Any unsaved changes will be lost.\n"			  "Please confirm."));    if (wPreferences.dont_confirm_kill	|| wMessageDialog(menu->frame->screen_ptr, _("Kill Application"),			  buffer, _("Yes"), _("No"), NULL)==WAPRDefault) {	if (icon->icon && icon->icon->owner) {	    wClientKill(icon->icon->owner);	}    }#endif /* !REDUCE_APPICONS */    icon->editing = 0;    WCHANGE_STATE(WSTATE_NORMAL);}