aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorPaul Eggert2012-07-10 14:48:34 -0700
committerPaul Eggert2012-07-10 14:48:34 -0700
commite99a530f8cdca3ccd9e739cd092ed9865d12fe89 (patch)
treec2bef9f80ff9910be17757a83f61caed02146d0a /src/process.c
parentc59592b32f5b5808c12720bfd37ea73b473fa1db (diff)
downloademacs-e99a530f8cdca3ccd9e739cd092ed9865d12fe89.tar.gz
emacs-e99a530f8cdca3ccd9e739cd092ed9865d12fe89.zip
Simplify by avoiding confusing use of strncpy etc.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c
index b8c3a18b33d..79100eb7a2c 100644
--- a/src/process.c
+++ b/src/process.c
@@ -3013,7 +3013,9 @@ usage: (make-network-process &rest ARGS) */)
3013 CHECK_STRING (service); 3013 CHECK_STRING (service);
3014 memset (&address_un, 0, sizeof address_un); 3014 memset (&address_un, 0, sizeof address_un);
3015 address_un.sun_family = AF_LOCAL; 3015 address_un.sun_family = AF_LOCAL;
3016 strncpy (address_un.sun_path, SSDATA (service), sizeof address_un.sun_path); 3016 if (sizeof address_un.sun_path <= SBYTES (service))
3017 error ("Service name too long");
3018 strcpy (address_un.sun_path, SSDATA (service));
3017 ai.ai_addr = (struct sockaddr *) &address_un; 3019 ai.ai_addr = (struct sockaddr *) &address_un;
3018 ai.ai_addrlen = sizeof address_un; 3020 ai.ai_addrlen = sizeof address_un;
3019 goto open_socket; 3021 goto open_socket;
@@ -3717,8 +3719,9 @@ FLAGS is the current flags of the interface. */)
3717 3719
3718 CHECK_STRING (ifname); 3720 CHECK_STRING (ifname);
3719 3721
3720 memset (rq.ifr_name, 0, sizeof rq.ifr_name); 3722 if (sizeof rq.ifr_name <= SBYTES (ifname))
3721 strncpy (rq.ifr_name, SSDATA (ifname), sizeof (rq.ifr_name)); 3723 error ("interface name too long");
3724 strcpy (rq.ifr_name, SSDATA (ifname));
3722 3725
3723 s = socket (AF_INET, SOCK_STREAM, 0); 3726 s = socket (AF_INET, SOCK_STREAM, 0);
3724 if (s < 0) 3727 if (s < 0)