Skip to content

Commit a7db693

Browse files
committed
Addressed copilot comments:
- return the remote port in network order - return the correct error code in woldIP_sock_recvfrom() - fixed test cases
1 parent 5abd3a8 commit a7db693

2 files changed

Lines changed: 12 additions & 10 deletions

File tree

src/test/unit/unit.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,7 @@ START_TEST(test_udp_sendto_and_recvfrom)
10351035
(struct wolfIP_sockaddr *)&from, &from_len);
10361036
ck_assert_int_eq(ret, (int)sizeof(payload));
10371037
ck_assert_mem_eq(rxbuf, payload, sizeof(payload));
1038-
ck_assert_uint_eq(from.sin_port, remote_port);
1038+
ck_assert_uint_eq(from.sin_port, ee16(remote_port));
10391039
}
10401040
END_TEST
10411041

@@ -1202,7 +1202,7 @@ START_TEST(test_udp_recvfrom_null_addrlen)
12021202
memset(&from, 0, sizeof(from));
12031203
ret = wolfIP_sock_recvfrom(&s, sd, rxbuf, sizeof(rxbuf), 0,
12041204
(struct wolfIP_sockaddr *)&from, NULL);
1205-
ck_assert_int_eq(ret, -1);
1205+
ck_assert_int_eq(ret, -WOLFIP_EINVAL);
12061206
}
12071207
END_TEST
12081208

@@ -1661,13 +1661,13 @@ START_TEST(test_sock_recvfrom_short_addrlen)
16611661
ck_assert_int_gt(udp_sd, 0);
16621662
alen = (socklen_t)1;
16631663
ck_assert_int_eq(wolfIP_sock_recvfrom(&s, udp_sd, buf, sizeof(buf), 0,
1664-
(struct wolfIP_sockaddr *)&sin, &alen), -1);
1664+
(struct wolfIP_sockaddr *)&sin, &alen), -WOLFIP_EINVAL);
16651665

16661666
icmp_sd = wolfIP_sock_socket(&s, AF_INET, IPSTACK_SOCK_DGRAM, WI_IPPROTO_ICMP);
16671667
ck_assert_int_gt(icmp_sd, 0);
16681668
alen = (socklen_t)1;
16691669
ck_assert_int_eq(wolfIP_sock_recvfrom(&s, icmp_sd, buf, sizeof(buf), 0,
1670-
(struct wolfIP_sockaddr *)&sin, &alen), -1);
1670+
(struct wolfIP_sockaddr *)&sin, &alen), -WOLFIP_EINVAL);
16711671
}
16721672
END_TEST
16731673
START_TEST(test_dns_query_and_callback_a)
@@ -4487,7 +4487,7 @@ START_TEST(test_sock_recvfrom_udp_short_addrlen)
44874487
ck_assert_int_gt(udp_sd, 0);
44884488

44894489
ck_assert_int_eq(wolfIP_sock_recvfrom(&s, udp_sd, buf, sizeof(buf), 0,
4490-
(struct wolfIP_sockaddr *)&sin, &alen), -1);
4490+
(struct wolfIP_sockaddr *)&sin, &alen), -WOLFIP_EINVAL);
44914491
}
44924492
END_TEST
44934493

@@ -4506,7 +4506,7 @@ START_TEST(test_sock_recvfrom_icmp_short_addrlen)
45064506
ck_assert_int_gt(icmp_sd, 0);
45074507

45084508
ck_assert_int_eq(wolfIP_sock_recvfrom(&s, icmp_sd, buf, sizeof(buf), 0,
4509-
(struct wolfIP_sockaddr *)&sin, &alen), -1);
4509+
(struct wolfIP_sockaddr *)&sin, &alen), -WOLFIP_EINVAL);
45104510
}
45114511
END_TEST
45124512

src/wolfip.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2648,9 +2648,9 @@ int wolfIP_sock_recvfrom(struct wolfIP *s, int sockfd, void *buf, size_t len, in
26482648
return -WOLFIP_EINVAL;
26492649
ts = &s->udpsockets[SOCKET_UNMARK(sockfd)];
26502650
if (sin && !addrlen)
2651-
return -1;
2651+
return -WOLFIP_EINVAL;
26522652
if (sin && *addrlen < sizeof(struct wolfIP_sockaddr_in))
2653-
return -1;
2653+
return -WOLFIP_EINVAL;
26542654
if (addrlen) *addrlen = sizeof(struct wolfIP_sockaddr_in);
26552655
if (fifo_len(&ts->sock.udp.rxbuf) == 0)
26562656
return -WOLFIP_EAGAIN;
@@ -2663,7 +2663,7 @@ int wolfIP_sock_recvfrom(struct wolfIP *s, int sockfd, void *buf, size_t len, in
26632663
}
26642664
if (sin) {
26652665
sin->sin_family = AF_INET;
2666-
sin->sin_port = ee16(udp->src_port);
2666+
sin->sin_port = udp->src_port;
26672667
sin->sin_addr.s_addr = udp->ip.src;
26682668
}
26692669
seg_len = ee16(udp->len) - UDP_HEADER_LEN;
@@ -2677,8 +2677,10 @@ int wolfIP_sock_recvfrom(struct wolfIP *s, int sockfd, void *buf, size_t len, in
26772677
if (SOCKET_UNMARK(sockfd) >= MAX_ICMPSOCKETS)
26782678
return -WOLFIP_EINVAL;
26792679
ts = &s->icmpsockets[SOCKET_UNMARK(sockfd)];
2680+
if (sin && !addrlen)
2681+
return -WOLFIP_EINVAL;
26802682
if (sin && *addrlen < sizeof(struct wolfIP_sockaddr_in))
2681-
return -1;
2683+
return -WOLFIP_EINVAL;
26822684
if (addrlen)
26832685
*addrlen = sizeof(struct wolfIP_sockaddr_in);
26842686
desc = fifo_peek(&ts->sock.udp.rxbuf);

0 commit comments

Comments
 (0)