Commit Diff


commit - 4049b748bf8123e8db01bb537b375091eaeb5d80
commit + e2752401e9de43f1f8c1e3a1601ec073cccab548
blob - a7188e594585fd71bd9c7214053d45590d2464fb
blob + d4b0bd3eb4f7883233361e8bdb3dab94bfb2e087
--- lib/fetch.c
+++ lib/fetch.c
@@ -471,7 +471,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 - 1ddbfbd79094402036ca23f218434375d9870239
blob + f284020602937db76c3bdc3f41457af32264ac4f
--- lib/gotconfig.c
+++ lib/gotconfig.c
@@ -107,7 +107,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 - 9b800024ce08645d31fb5ce19d12e77c8bb9f476
blob + 386beeb5dd0d92cab6b196c328e2144a2cb595c2
--- lib/pack.c
+++ lib/pack.c
@@ -723,7 +723,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 - 456e9852b330bda18541353fefa951d0b54b3155
blob + f14ac56ec988d939e248d0ecc5cfd66deab8b108
--- lib/privsep.c
+++ lib/privsep.c
@@ -207,6 +207,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;
 	}
 }
@@ -220,8 +221,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;
 }
@@ -244,7 +247,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 - a0442e89b03c4cd371c19155dce9c196ef412870
blob + 81651ea9a69945909619bd8d59a07dba9f31ed06
--- lib/repository.c
+++ lib/repository.c
@@ -572,7 +572,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 - 4bc2bb94c25ff57783c625f443ade908a45d245c
blob + 152d884fac207c0cd24a0d4af25e70dd2bb42a8e
--- lib/repository_admin.c
+++ lib/repository_admin.c
@@ -382,7 +382,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");