Commit Diff


commit - 94fa875ce5c580f1819c42b322c72cee85298e30
commit + c24b14ad282967165c7a76de548f622365fa447f
blob - 5387f78080d7b7ae0eb797f27edeb2cc621cace9
blob + ed3abfee0fe463f4fc956de8d32196632a3bb4a3
--- net.c
+++ net.c
@@ -699,9 +699,9 @@ handle_dispatch_imsg(int fd, short event, void *d)
 			if ((req = req_by_id(imsg.hdr.peerid)) == NULL)
 				break;
 
-			if (datalen != sizeof(certok))
+			if (imsg_get_data(&imsg, &certok, sizeof(certok)) ==
+			    -1)
 				die();
-			memcpy(&certok, imsg.data, sizeof(certok));
 			if (certok)
 				net_ready(req);
 			else
blob - f44fb37e4bff7c9cc37a2fc418ff15b9b98c9c31
blob + a1f2db2801395dd01102cea7480116624a47794f
--- telescope.c
+++ telescope.c
@@ -366,10 +366,9 @@ handle_imsg_got_code(struct imsg *imsg, size_t datalen
 	if ((tab = tab_by_id(imsg->hdr.peerid)) == NULL)
 		return;
 
-	if (sizeof(tab->code) != datalen)
+	if (imsg_get_data(imsg, &tab->code, sizeof(tab->code)) == -1)
 		die();
 
-	memcpy(&tab->code, imsg->data, sizeof(tab->code));
 	tab->code = normalize_code(tab->code);
 	if (tab->code != 30 && tab->code != 31)
 		tab->redirect_count = 0;