Commit Diff


commit - fe36cf7631693ba127c07fe188f9ff963f900e86
commit + 5d43e84d91afe0ba4bbbef5955d8662aff118299
blob - 3f705279c643a7a7586cf44c85be37fe0ccec95e
blob + 594cb27dab416cae4a30c676973c016061734800
--- lib/privsep.c
+++ lib/privsep.c
@@ -128,17 +128,22 @@ got_privsep_send_error(struct imsgbuf *ibuf, const str
 	if (ret != -1) {
 		fprintf(stderr, "%s: error %d \"%s\": imsg_compose: %s\n",
 		    getprogname(), err->code, err->msg, strerror(errno));
+		return;
 	}
 
 	poll_err = poll_fd(ibuf->fd, POLLOUT, INFTIM);
-	if (poll_err)
+	if (poll_err) {
 		fprintf(stderr, "%s: error %d \"%s\": poll: %s\n",
 		    getprogname(), err->code, err->msg, poll_err->msg);
+		return;
+	}
 
 	ret = imsg_flush(ibuf);
-	if (ret == -1)
+	if (ret == -1) {
 		fprintf(stderr, "%s: error %d \"%s\": imsg_flush: %s\n",
 		    getprogname(), err->code, err->msg, strerror(errno));
+		return;
+	}
 }
 
 const struct got_error *