diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c index bafdca9bd63..ed71ff76e6a 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -2155,7 +2155,7 @@ Returns nil upon error setting address, ADDRESS otherwise. */) | |||
| 2155 | channel = XPROCESS (process)->infd; | 2155 | channel = XPROCESS (process)->infd; |
| 2156 | 2156 | ||
| 2157 | len = get_lisp_to_sockaddr_size (address, &family); | 2157 | len = get_lisp_to_sockaddr_size (address, &family); |
| 2158 | if (datagram_address[channel].len != len) | 2158 | if (len == 0 || datagram_address[channel].len != len) |
| 2159 | return Qnil; | 2159 | return Qnil; |
| 2160 | conv_lisp_to_sockaddr (family, address, datagram_address[channel].sa, len); | 2160 | conv_lisp_to_sockaddr (family, address, datagram_address[channel].sa, len); |
| 2161 | return address; | 2161 | return address; |
| @@ -3269,7 +3269,8 @@ usage: (make-network-process &rest ARGS) */) | |||
| 3269 | { | 3269 | { |
| 3270 | int rfamily, rlen; | 3270 | int rfamily, rlen; |
| 3271 | rlen = get_lisp_to_sockaddr_size (remote, &rfamily); | 3271 | rlen = get_lisp_to_sockaddr_size (remote, &rfamily); |
| 3272 | if (rfamily == lres->ai_family && rlen == lres->ai_addrlen) | 3272 | if (rlen != 0 && rfamily == lres->ai_family |
| 3273 | && rlen == lres->ai_addrlen) | ||
| 3273 | conv_lisp_to_sockaddr (rfamily, remote, | 3274 | conv_lisp_to_sockaddr (rfamily, remote, |
| 3274 | datagram_address[s].sa, rlen); | 3275 | datagram_address[s].sa, rlen); |
| 3275 | } | 3276 | } |