rem: command = wmalloc(strlen(text)+40);
add: len = strlen(text)+40; command = wmalloc(len);
context: setWorkspaceBack(WScreen *scr, WDefaultEntry *entry, proplist_t value, 		 void *bar){    if (scr->flags.backimage_helper_launched) {	char *str;	if (PLGetNumberOfElements(value)==0) {	    SendHelperMessage(scr, 'U', 0, NULL);	} else {	    /* set the default workspace background to this one */	    str = PLGetDescription(value);	    if (str) {		SendHelperMessage(scr, 'S', 0, str);		wfree(str);		SendHelperMessage(scr, 'C', scr->current_workspace+1, NULL);	    } else {		SendHelperMessage(scr, 'U', 0, NULL);	    }	}    } else if (PLGetNumberOfElements(value) > 0) {	char *command;        char *text;        char *dither;	SetupEnvironment(scr);	text = PLGetDescription(value);        command = wmalloc(strlen(text)+40);        dither = wPreferences.no_dithering ? "-m" : "-d";	if (wPreferences.smooth_workspace_back)	    sprintf(command, "wmsetbg %s -S -p '%s' &", dither, text);	else	    sprintf(command, "wmsetbg %s -p '%s' &", dither, text);	wfree(text);	system(command);	wfree(command);    }    PLRelease(value);    return 0;}