Commit Diff


commit - 7788015835f52931a1e76390b4b497cc9d8ebdaf
commit + 18336eedac11f139b496ab3f1a16bbbc92652b76
blob - be1744b9deba2272530722aa02122fdb504e367c
blob + 8da8e2c1364c77502fee787dc2228a37acde81ea
--- lib/privsep.c
+++ lib/privsep.c
@@ -810,8 +810,10 @@ got_privsep_recv_blob(size_t *size, struct imsgbuf *ib
 		err = recv_imsg_error(&imsg, datalen);
 		break;
 	case GOT_IMSG_BLOB:
-		if (datalen != sizeof(iblob))
+		if (datalen != sizeof(iblob)) {
 			err = got_error(GOT_ERR_PRIVSEP_LEN);
+			break;
+		}
 		memcpy(&iblob, imsg.data, sizeof(iblob));
 		*size = iblob.size;
 		/* Data has been written to file descriptor. */