don't check datalen when calling recv_imsg_error recv_imsg_error already checks the size of the message, and it does so more precisely than the removed code. ok stsp@
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
diff --git a/lib/privsep.c b/lib/privsep.c
index a630739..ebf6a99 100644
--- a/lib/privsep.c
+++ b/lib/privsep.c
@@ -702,10 +702,6 @@ got_privsep_recv_fetch_progress(int *done, struct got_object_id **id,
datalen = imsg.hdr.len - IMSG_HEADER_SIZE;
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- break;
- }
err = recv_imsg_error(&imsg, datalen);
break;
case GOT_IMSG_FETCH_SYMREFS:
@@ -930,10 +926,6 @@ got_privsep_recv_send_remote_refs(struct got_pathlist_head *remote_refs,
datalen = imsg.hdr.len - IMSG_HEADER_SIZE;
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- goto done;
- }
err = recv_imsg_error(&imsg, datalen);
goto done;
case GOT_IMSG_SEND_REMOTE_REF:
@@ -1017,10 +1009,6 @@ got_privsep_recv_send_progress(int *done, off_t *bytes_sent,
datalen = imsg.hdr.len - IMSG_HEADER_SIZE;
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- break;
- }
err = recv_imsg_error(&imsg, datalen);
break;
case GOT_IMSG_SEND_UPLOAD_PROGRESS:
@@ -1104,10 +1092,6 @@ got_privsep_recv_index_progress(int *done, int *nobj_total,
datalen = imsg.hdr.len - IMSG_HEADER_SIZE;
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- break;
- }
err = recv_imsg_error(&imsg, datalen);
break;
case GOT_IMSG_IDXPACK_PROGRESS:
@@ -2426,10 +2410,6 @@ got_privsep_recv_gotconfig_str(char **str, struct imsgbuf *ibuf)
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- break;
- }
err = recv_imsg_error(&imsg, datalen);
break;
case GOT_IMSG_GOTCONFIG_STR_VAL:
@@ -2476,10 +2456,6 @@ got_privsep_recv_gotconfig_remotes(struct got_remote_repo **remotes,
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- break;
- }
err = recv_imsg_error(&imsg, datalen);
break;
case GOT_IMSG_GOTCONFIG_REMOTES:
@@ -2517,10 +2493,6 @@ got_privsep_recv_gotconfig_remotes(struct got_remote_repo **remotes,
switch (imsg.hdr.type) {
case GOT_IMSG_ERROR:
- if (datalen < sizeof(struct got_imsg_error)) {
- err = got_error(GOT_ERR_PRIVSEP_LEN);
- break;
- }
err = recv_imsg_error(&imsg, datalen);
break;
case GOT_IMSG_GOTCONFIG_REMOTE: