sizeof(dest->ip));
saved_errno = errno;
close(s);
- if (ret != len) {
+ if (ret == -1) {
D_ERR("Failed sendto (%s)\n", strerror(saved_errno));
return -1;
}
+ if ((size_t)ret != len) {
+ DBG_ERR("Failed sendto - didn't send full packet\n");
+ return -1;
+ }
break;
case AF_INET6:
sizeof(tmpdest));
saved_errno = errno;
close(s);
-
- if (ret != len) {
+ if (ret == -1) {
D_ERR("Failed sendto (%s)\n", strerror(saved_errno));
return -1;
}
+ if ((size_t)ret != len) {
+ DBG_ERR("Failed sendto - didn't send full packet\n");
+ return -1;
+ }
break;
default:
int ret;
nread = recv(s, pkt, sizeof(pkt), MSG_TRUNC);
- if (nread < sizeof(*eth)) {
+ if (nread == -1) {
+ return errno;
+ }
+ if ((size_t)nread < sizeof(*eth)) {
return EMSGSIZE;
}