commit 1e51f5b9bacbc8ebbd486d68ccfbf11556d4607d from: Stefan Sperling date: Mon Apr 23 16:59:39 2018 UTC in got_privsep_recv_tree_obj() free tree upon imsg_read() error commit - 052d4dc305cc8f7124d5040f376d19abdedf5f68 commit + 1e51f5b9bacbc8ebbd486d68ccfbf11556d4607d blob - 0aecd73351f6e1714eeb68839bda43f9fbac7e10 blob + a9c67e47ae7b90376c70fcca278cd0d96f40ca2c --- lib/privsep.c +++ lib/privsep.c @@ -509,7 +509,7 @@ got_privsep_recv_tree_obj(struct got_tree_object **tre get_more: err = read_imsg(ibuf); if (err) - return err; + goto done; while (1) { struct imsg imsg; @@ -598,9 +598,10 @@ get_more: imsg_free(&imsg); } - +done: if (*tree && (*tree)->nentries != nentries) { - err = got_error(GOT_ERR_PRIVSEP_LEN); + if (err == NULL) + err = got_error(GOT_ERR_PRIVSEP_LEN); got_object_tree_close(*tree); *tree = NULL; }