Skip to content

Commit

Permalink
recvfrom returns ssize_t, not size_t
Browse files Browse the repository at this point in the history
  • Loading branch information
alandekok committed Oct 23, 2013
1 parent 3a07b03 commit f7e9172
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions src/lib/dhcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,9 @@ RADIUS_PACKET *fr_dhcp_recv(int sockfd)
socklen_t sizeof_src;
socklen_t sizeof_dst;
RADIUS_PACKET *packet;
int port;
int port;
uint8_t *code;
ssize_t data_len;

packet = rad_alloc(0);
if (!packet) {
Expand All @@ -235,20 +236,21 @@ RADIUS_PACKET *fr_dhcp_recv(int sockfd)
sizeof_src = sizeof(src);
#ifdef WITH_UDPFROMTO
sizeof_dst = sizeof(dst);
packet->data_len = recvfromto(sockfd, packet->data, MAX_PACKET_SIZE, 0,
(struct sockaddr *)&src, &sizeof_src,
(struct sockaddr *)&dst, &sizeof_dst);
data_len = recvfromto(sockfd, packet->data, MAX_PACKET_SIZE, 0,
(struct sockaddr *)&src, &sizeof_src,
(struct sockaddr *)&dst, &sizeof_dst);
#else
packet->data_len = recvfrom(sockfd, packet->data, MAX_PACKET_SIZE, 0,
(struct sockaddr *)&src, &sizeof_src);
data_len = recvfrom(sockfd, packet->data, MAX_PACKET_SIZE, 0,
(struct sockaddr *)&src, &sizeof_src);
#endif

if (packet->data_len <= 0) {
if (data_len <= 0) {
fr_strerror_printf("Failed reading DHCP socket: %s", strerror(errno));
rad_free(&packet);
return NULL;
}

packet->data_len = data_len;
if (packet->data_len < MIN_PACKET_SIZE) {
fr_strerror_printf("DHCP packet is too small (%d < %d)",
packet->data_len, MIN_PACKET_SIZE);
Expand Down

0 comments on commit f7e9172

Please sign in to comment.