Commit Diff


commit - 6728234c6aab255471b3e6235d5fe6234bd2ab34
commit + 112885d3424f0caedb05e87bfba3a92539797953
blob - 229ce352b29df55a12ff9e1b1120aac39a27f831
blob + 38eb5d2755f8386da9109b20e0bdd4fcdba7f2fc
--- libexec/got-read-pack/got-read-pack.c
+++ libexec/got-read-pack/got-read-pack.c
@@ -2006,6 +2006,7 @@ main(int argc, char *argv[])
 	if (err) {
 		err = got_error_from_errno("got_object_cache_init");
 		got_privsep_send_error(&ibuf, err);
+		imsgbuf_clear(&ibuf);
 		return 1;
 	}
 
@@ -2014,6 +2015,7 @@ main(int argc, char *argv[])
 	if (pledge("stdio recvfd", NULL) == -1) {
 		err = got_error_from_errno("pledge");
 		got_privsep_send_error(&ibuf, err);
+		imsgbuf_clear(&ibuf);
 		return 1;
 	}
 
@@ -2033,12 +2035,14 @@ main(int argc, char *argv[])
 	err = receive_packidx(&packidx, &ibuf);
 	if (err) {
 		got_privsep_send_error(&ibuf, err);
+		imsgbuf_clear(&ibuf);
 		return 1;
 	}
 
 	err = receive_pack(&pack, &ibuf);
 	if (err) {
 		got_privsep_send_error(&ibuf, err);
+		imsgbuf_clear(&ibuf);
 		return 1;
 	}