aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorRichard M. Stallman2006-04-13 01:08:27 +0000
committerRichard M. Stallman2006-04-13 01:08:27 +0000
commit9d1a8e5da1d074fb47658cd283e861d42552e9a9 (patch)
tree3b62004f2bd2e9d932356f53dfda801980005c34 /src/process.c
parent97ee303a6b16de212142286527d10051e260f0e8 (diff)
downloademacs-9d1a8e5da1d074fb47658cd283e861d42552e9a9.tar.gz
emacs-9d1a8e5da1d074fb47658cd283e861d42552e9a9.zip
(conv_lisp_to_sockaddr): Fix previous change.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/process.c b/src/process.c
index a17ef0e0915..dbb431496c3 100644
--- a/src/process.c
+++ b/src/process.c
@@ -2322,9 +2322,11 @@ get_lisp_to_sockaddr_size (address, familyp)
2322} 2322}
2323 2323
2324/* Convert an address object (vector or string) to an internal sockaddr. 2324/* Convert an address object (vector or string) to an internal sockaddr.
2325 Address format has already been validated by get_lisp_to_sockaddr_size, 2325
2326 but just to be nice, we return without doing anything 2326 The address format has been basically validated by
2327 if FAMILY is not valid. */ 2327 get_lisp_to_sockaddr_size, but this does not mean FAMILY is valid;
2328 it could have come from user data. So if FAMILY is not valid,
2329 we return after zeroing *SA. */
2328 2330
2329static void 2331static void
2330conv_lisp_to_sockaddr (family, address, sa, len) 2332conv_lisp_to_sockaddr (family, address, sa, len)
@@ -2338,7 +2340,6 @@ conv_lisp_to_sockaddr (family, address, sa, len)
2338 register int i; 2340 register int i;
2339 2341
2340 bzero (sa, len); 2342 bzero (sa, len);
2341 sa->sa_family = family;
2342 2343
2343 if (VECTORP (address)) 2344 if (VECTORP (address))
2344 { 2345 {
@@ -2350,6 +2351,7 @@ conv_lisp_to_sockaddr (family, address, sa, len)
2350 i = XINT (p->contents[--len]); 2351 i = XINT (p->contents[--len]);
2351 sin->sin_port = htons (i); 2352 sin->sin_port = htons (i);
2352 cp = (unsigned char *)&sin->sin_addr; 2353 cp = (unsigned char *)&sin->sin_addr;
2354 sa->sa_family = family;
2353 } 2355 }
2354#ifdef AF_INET6 2356#ifdef AF_INET6
2355 else if (family == AF_INET6) 2357 else if (family == AF_INET6)
@@ -2365,7 +2367,7 @@ conv_lisp_to_sockaddr (family, address, sa, len)
2365 int j = XFASTINT (p->contents[i]) & 0xffff; 2367 int j = XFASTINT (p->contents[i]) & 0xffff;
2366 ip6[i] = ntohs (j); 2368 ip6[i] = ntohs (j);
2367 } 2369 }
2368 return; 2370 sa->sa_family = family;
2369 } 2371 }
2370#endif 2372#endif
2371 return; 2373 return;
@@ -2379,6 +2381,7 @@ conv_lisp_to_sockaddr (family, address, sa, len)
2379 cp = SDATA (address); 2381 cp = SDATA (address);
2380 for (i = 0; i < sizeof (sockun->sun_path) && *cp; i++) 2382 for (i = 0; i < sizeof (sockun->sun_path) && *cp; i++)
2381 sockun->sun_path[i] = *cp++; 2383 sockun->sun_path[i] = *cp++;
2384 sa->sa_family = family;
2382 } 2385 }
2383#endif 2386#endif
2384 return; 2387 return;