rem: free(buffer);
add: wfree(buffer);
context: ReadProplistFromFile(char *file){    FILE *f;    proplist_t pl = NULL;        f = fopen(file, "r");    if (!f) {	wsyserror(_("could not open domain file %s"), file);	return NULL;    }    file_name = file;    line_number = 1;    buffer_size = INITIAL_BUFFER_SIZE;    buffer = wmalloc(buffer_size);    pl = get_object(f);    /* check for illegal characters after EOF */    if (get_non_space_char(f)!=EOF && pl) {	COMPLAIN(_("extra data after end of file"));	/* 	 * We can't just ignore garbage after the file because the "garbage"	 * could be the data and the real garbage be in the beginning of	 * the file (wich is now, inside pl)	 */	PLRelease(pl);	pl = NULL;    }    free(buffer);    fclose(f);    if (pl) {	proplist_t fpl;	fpl = PLMakeString(file);	PLSetFilename(pl, fpl);	PLRelease(fpl);    }    return pl;}