commit - 4bcdc8959af14bcb2e50c7f303df6c055573bc7a
commit + 7429ae85e5dff2953bced09c774ea43f501e8929
blob - b8e60e5a73e4d935fbc621706294df4e664a14d3
blob + 6618deade1bf2e3f682f10b87ba1c86ca75a1ecd
--- 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) {