aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c5
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 }