version 1.20.2.3, 2016/08/02 12:00:39
|
version 1.20.2.4, 2016/08/02 15:18:41
|
Line 254 try2read:
|
Line 254 try2read:
|
|
|
/* check RPC packet header */ |
/* check RPC packet header */ |
if (type == SOCK_RAW) { |
if (type == SOCK_RAW) { |
|
#ifdef IPV6_REMOVE_HEADER |
hlen = sa->sa.sa_family == AF_INET ? |
hlen = sa->sa.sa_family == AF_INET ? |
sizeof(struct ip) : sizeof(struct ip6_hdr); |
sizeof(struct ip) : sizeof(struct ip6_hdr); |
|
#else |
|
hlen = sa->sa.sa_family == AF_INET ? |
|
sizeof(struct ip) : 0; |
|
#endif |
ret -= hlen; |
ret -= hlen; |
if (ret > 0) |
if (ret > 0) |
memmove(buf, buf + hlen, blen - hlen); |
memmove(buf, buf + hlen, blen - hlen); |
Line 349 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
Line 354 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
return -1; |
return -1; |
} |
} |
|
|
ret = sendto(sock, buf, blen, flags, &sa->sa, sizeof sa->sa); | ret = sendto(sock, buf, blen, flags, &sa->sa, e_addrlen(sa)); |
break; |
break; |
default: |
default: |
rpc_SetErr(EINVAL, "Invalid argument(s)!"); |
rpc_SetErr(EINVAL, "Invalid argument(s)!"); |