commit - bafaf650cf9ee98df6390dc7b731fcf9546fb714
commit + 8767bb940965a692a36958085832958a312923bc
blob - 42f3f969ab74fe9847c174eb9571b9b832599bf9
blob + 70dc341711c8c61360f3c8d9af25137cd6b9b9fb
--- lib/privsep.c
+++ lib/privsep.c
int nentries = 0;
*tree = NULL;
-get_more:
+
err = read_imsg(ibuf);
if (err)
goto done;
n = imsg_get(ibuf, &imsg);
if (n == 0) {
- if (*tree && (*tree)->nentries != nentries)
- goto get_more;
- break;
+ if ((*tree)) {
+ if (nentries < (*tree)->nentries) {
+ err = read_imsg(ibuf);
+ if (err)
+ break;
+ continue;
+ } else
+ break;
+ } else {
+ err = got_error(GOT_ERR_PRIVSEP_MSG);
+ break;
+ }
}
if (imsg.hdr.len < IMSG_HEADER_SIZE + min_datalen) {