Commit Diff


commit - 688fe08b75a31d11eaf64a44751f903bdfa61b68
commit + 8934ea8b1b31166ea1f3f857e6f51f8dd6a999a2
blob - 66bbb446389b857c55aa7f47ab02c895a18b660b
blob + e557ed1517eb0150936c27521720d73e1dc76d88
--- lib/fetch.c
+++ lib/fetch.c
@@ -476,7 +476,6 @@ got_fetch_pack(struct got_object_id **pack_hash, struc
 			if (err)
 				break;
 		}
-		imsg_clear(&idxibuf);
 	}
 	if (close(imsg_idxfds[0]) == -1) {
 		err = got_error_from_errno("close");
blob - 664f170821f75b4356a1f141c1aebcf860ac1868
blob + ab884984fe1018932f9071e31e6880538386570d
--- lib/gotconfig.c
+++ lib/gotconfig.c
@@ -108,7 +108,6 @@ got_gotconfig_read(struct got_gotconfig **conf, const 
 	if (err)
 		goto done;
 
-	imsg_clear(ibuf);
 	err = got_privsep_send_stop(imsg_fds[0]);
 	child_err = got_privsep_wait_for_child(pid);
 	if (child_err && err == NULL)
blob - c981da3572edb6919e64e8fa50227b8ab99e0702
blob + b8079437462b9ff19d788ec0bc2b4da195662c09
--- lib/pack.c
+++ lib/pack.c
@@ -727,7 +727,6 @@ pack_stop_privsep_child(struct got_pack *pack)
 	err = got_privsep_wait_for_child(pack->privsep_child->pid);
 	if (close(pack->privsep_child->imsg_fd) == -1 && err == NULL)
 		err = got_error_from_errno("close");
-	imsg_clear(pack->privsep_child->ibuf);
 	free(pack->privsep_child->ibuf);
 	free(pack->privsep_child);
 	pack->privsep_child = NULL;
blob - 48e50b65411ba0b6ffccd2853fe7f30044f9f398
blob + 4cbc40e6f66cdf7a166db6612c052858ffaba1b6
--- lib/privsep.c
+++ lib/privsep.c
@@ -208,6 +208,7 @@ got_privsep_send_error(struct imsgbuf *ibuf, const str
 	if (ret == -1) {
 		fprintf(stderr, "%s: error %d \"%s\": imsg_flush: %s\n",
 		    getprogname(), err->code, err->msg, strerror(errno));
+		imsg_clear(ibuf);
 		return;
 	}
 }
@@ -221,8 +222,10 @@ flush_imsg(struct imsgbuf *ibuf)
 	if (err)
 		return err;
 
-	if (imsg_flush(ibuf) == -1)
+	if (imsg_flush(ibuf) == -1) {
+		imsg_clear(ibuf);
 		return got_error_from_errno("imsg_flush");
+	}
 
 	return NULL;
 }
@@ -245,7 +248,6 @@ got_privsep_send_stop(int fd)
 		return got_error_from_errno("imsg_compose STOP");
 
 	err = flush_imsg(&ibuf);
-	imsg_clear(&ibuf);
 	return err;
 }
 
blob - 255d035fd6d1b3bd7f0720a14a8463799f261c61
blob + 52605751687dfacb015e943762eb3bfc59fcdfd7
--- lib/repository.c
+++ lib/repository.c
@@ -577,7 +577,6 @@ parse_gitconfig_file(int *gitconfig_repository_format_
 			goto done;
 	}
 
-	imsg_clear(ibuf);
 	err = got_privsep_send_stop(imsg_fds[0]);
 	child_err = got_privsep_wait_for_child(pid);
 	if (child_err && err == NULL)
blob - 422da924a77fc3864bcdfbc5e266f568fab8cef3
blob + c1adcc4de91fadddf5e049d93cc9a744c07579bf
--- lib/repository_admin.c
+++ lib/repository_admin.c
@@ -387,7 +387,6 @@ got_repo_index_pack(FILE *packfile, struct got_object_
 			if (err)
 				break;
 		}
-		imsg_clear(&idxibuf);
 	}
 	if (close(imsg_idxfds[0]) == -1) {
 		err = got_error_from_errno("close");