diff options
| author | Paul Eggert | 2011-04-04 01:13:45 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-04-04 01:13:45 -0700 |
| commit | bc57d757a2a5ac2ccbd658c7905c653357fc9da3 (patch) | |
| tree | 85841f6e0ba2f5172b7dc1528a7c9a4e034e0cc1 /src/process.c | |
| parent | afd4052b6c0cf0deb49b709a41d43748c773a3d0 (diff) | |
| download | emacs-bc57d757a2a5ac2ccbd658c7905c653357fc9da3.tar.gz emacs-bc57d757a2a5ac2ccbd658c7905c653357fc9da3.zip | |
* process.c (Fnetwork_interface_info): Avoid possibility of int overflow.
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/process.c b/src/process.c index 57b76b67f27..50a068b2339 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -3949,7 +3949,7 @@ FLAGS is the current flags of the interface. */) | |||
| 3949 | const struct ifflag_def *fp; | 3949 | const struct ifflag_def *fp; |
| 3950 | int fnum; | 3950 | int fnum; |
| 3951 | 3951 | ||
| 3952 | any++; | 3952 | any = 1; |
| 3953 | for (fp = ifflag_table; flags != 0 && fp->flag_sym; fp++) | 3953 | for (fp = ifflag_table; flags != 0 && fp->flag_sym; fp++) |
| 3954 | { | 3954 | { |
| 3955 | if (flags & fp->flag_bit) | 3955 | if (flags & fp->flag_bit) |
| @@ -3977,7 +3977,7 @@ FLAGS is the current flags of the interface. */) | |||
| 3977 | register struct Lisp_Vector *p = XVECTOR (hwaddr); | 3977 | register struct Lisp_Vector *p = XVECTOR (hwaddr); |
| 3978 | int n; | 3978 | int n; |
| 3979 | 3979 | ||
| 3980 | any++; | 3980 | any = 1; |
| 3981 | for (n = 0; n < 6; n++) | 3981 | for (n = 0; n < 6; n++) |
| 3982 | p->contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]); | 3982 | p->contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]); |
| 3983 | elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr); | 3983 | elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr); |
| @@ -3989,7 +3989,7 @@ FLAGS is the current flags of the interface. */) | |||
| 3989 | #if defined(SIOCGIFNETMASK) && (defined(HAVE_STRUCT_IFREQ_IFR_NETMASK) || defined(HAVE_STRUCT_IFREQ_IFR_ADDR)) | 3989 | #if defined(SIOCGIFNETMASK) && (defined(HAVE_STRUCT_IFREQ_IFR_NETMASK) || defined(HAVE_STRUCT_IFREQ_IFR_ADDR)) |
| 3990 | if (ioctl (s, SIOCGIFNETMASK, &rq) == 0) | 3990 | if (ioctl (s, SIOCGIFNETMASK, &rq) == 0) |
| 3991 | { | 3991 | { |
| 3992 | any++; | 3992 | any = 1; |
| 3993 | #ifdef HAVE_STRUCT_IFREQ_IFR_NETMASK | 3993 | #ifdef HAVE_STRUCT_IFREQ_IFR_NETMASK |
| 3994 | elt = conv_sockaddr_to_lisp (&rq.ifr_netmask, sizeof (rq.ifr_netmask)); | 3994 | elt = conv_sockaddr_to_lisp (&rq.ifr_netmask, sizeof (rq.ifr_netmask)); |
| 3995 | #else | 3995 | #else |
| @@ -4003,7 +4003,7 @@ FLAGS is the current flags of the interface. */) | |||
| 4003 | #if defined(SIOCGIFBRDADDR) && defined(HAVE_STRUCT_IFREQ_IFR_BROADADDR) | 4003 | #if defined(SIOCGIFBRDADDR) && defined(HAVE_STRUCT_IFREQ_IFR_BROADADDR) |
| 4004 | if (ioctl (s, SIOCGIFBRDADDR, &rq) == 0) | 4004 | if (ioctl (s, SIOCGIFBRDADDR, &rq) == 0) |
| 4005 | { | 4005 | { |
| 4006 | any++; | 4006 | any = 1; |
| 4007 | elt = conv_sockaddr_to_lisp (&rq.ifr_broadaddr, sizeof (rq.ifr_broadaddr)); | 4007 | elt = conv_sockaddr_to_lisp (&rq.ifr_broadaddr, sizeof (rq.ifr_broadaddr)); |
| 4008 | } | 4008 | } |
| 4009 | #endif | 4009 | #endif |
| @@ -4013,7 +4013,7 @@ FLAGS is the current flags of the interface. */) | |||
| 4013 | #if defined(SIOCGIFADDR) && defined(HAVE_STRUCT_IFREQ_IFR_ADDR) | 4013 | #if defined(SIOCGIFADDR) && defined(HAVE_STRUCT_IFREQ_IFR_ADDR) |
| 4014 | if (ioctl (s, SIOCGIFADDR, &rq) == 0) | 4014 | if (ioctl (s, SIOCGIFADDR, &rq) == 0) |
| 4015 | { | 4015 | { |
| 4016 | any++; | 4016 | any = 1; |
| 4017 | elt = conv_sockaddr_to_lisp (&rq.ifr_addr, sizeof (rq.ifr_addr)); | 4017 | elt = conv_sockaddr_to_lisp (&rq.ifr_addr, sizeof (rq.ifr_addr)); |
| 4018 | } | 4018 | } |
| 4019 | #endif | 4019 | #endif |