On 06/07/2010 12:58 PM, Balbir Singh wrote: > * Jan Safranek<[email protected]> [2010-06-07 11:58:19]: > >> getline(&line, ...) can return -1 *and* allocate memory for returned (empty) >> line - so be sure to free it. >> >> Signed-off-by: Jan Safranek<[email protected]> >> --- >> >> src/api.c | 6 ++++-- >> 1 files changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/src/api.c b/src/api.c >> index 4823006..abe8fc4 100644 >> --- a/src/api.c >> +++ b/src/api.c >> @@ -2784,8 +2784,10 @@ static int cg_read_stat(FILE *fp, struct cgroup_stat >> *cgroup_stat) >> char *saveptr = NULL; >> >> read_bytes = getline(&line,&len, fp); >> - if (read_bytes == -1) >> - return ECGEOF; >> + if (read_bytes == -1) { >> + ret = ECGEOF; >> + goto out_free; >> + } >> >> token = strtok_r(line, " ",&saveptr); >> if (!token) { > > Hmm.. I can't find what you mentioned in the man-pages, but your > changelog is correct. I think we should also check for if (line) prior > to freeing line
No, free() works well with NULL, see man page. Jan ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Libcg-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libcg-devel
