diff --git a/ChangeLog b/ChangeLog index 14600cb2cf..1e5e5c977a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-12-07 Robert Love + + * src/NetworkManagerDevice.c: strncpy() buffer check. + * src/NetworkManagerUtils.c: be anal about syslog() formatting. + 2005-12-06 Dan Williams * gnome/applet/applet-dbus.c diff --git a/src/NetworkManagerDevice.c b/src/NetworkManagerDevice.c index 1e8781f38f..1040d1b086 100644 --- a/src/NetworkManagerDevice.c +++ b/src/NetworkManagerDevice.c @@ -1675,9 +1675,9 @@ void nm_device_update_ip4_address (NMDevice *dev) if ((sk = nm_dev_sock_open (dev, DEV_GENERAL, __FUNCTION__, NULL)) == NULL) return; - + memset (&req, 0, sizeof (struct ifreq)); - strncpy ((char *)(&req.ifr_name), nm_device_get_iface (dev), strlen (nm_device_get_iface (dev))); + strncpy (req.ifr_name, nm_device_get_iface (dev), sizeof (req.ifr_name) - 1); #ifdef IOCTL_DEBUG nm_info ("%s: About to GET IFADDR.", nm_device_get_iface (dev)); #endif @@ -1742,9 +1742,9 @@ void nm_device_update_hw_address (NMDevice *dev) if ((sk = nm_dev_sock_open (dev, DEV_GENERAL, __FUNCTION__, NULL)) == NULL) return; - + memset (&req, 0, sizeof (struct ifreq)); - strncpy ((char *)(&req.ifr_name), nm_device_get_iface (dev), strlen (nm_device_get_iface (dev))); + strncpy (req.ifr_name, nm_device_get_iface (dev), sizeof (req.ifr_name) - 1); #ifdef IOCTL_DEBUG nm_info ("%s: About to GET IFHWADDR.", nm_device_get_iface (dev)); #endif @@ -1806,7 +1806,7 @@ gboolean nm_device_is_up (NMDevice *dev) return (FALSE); /* Get device's flags */ - strcpy (ifr.ifr_name, nm_device_get_iface (dev)); + strncpy (ifr.ifr_name, nm_device_get_iface (dev), sizeof (ifr.ifr_name) - 1); #ifdef IOCTL_DEBUG nm_info ("%s: About to GET IFFLAGS.", nm_device_get_iface (dev)); #endif @@ -4304,7 +4304,7 @@ static gboolean supports_ethtool_carrier_detect (NMDevice *dev) return (FALSE); } - strncpy (ifr.ifr_name, nm_device_get_iface (dev), sizeof(ifr.ifr_name)-1); + strncpy (ifr.ifr_name, nm_device_get_iface (dev), sizeof(ifr.ifr_name) - 1); edata.cmd = ETHTOOL_GLINK; ifr.ifr_data = (char *) &edata; #ifdef IOCTL_DEBUG @@ -4369,7 +4369,7 @@ static gboolean supports_mii_carrier_detect (NMDevice *dev) return (FALSE); } - strncpy (ifr.ifr_name, nm_device_get_iface (dev), sizeof(ifr.ifr_name)-1); + strncpy (ifr.ifr_name, nm_device_get_iface (dev), sizeof (ifr.ifr_name) - 1); #ifdef IOCTL_DEBUG nm_info ("%s: About to GET MIIPHY\n", nm_device_get_iface (dev)); #endif diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c index 402bbef3d0..4ecf6afe47 100644 --- a/src/NetworkManagerUtils.c +++ b/src/NetworkManagerUtils.c @@ -621,7 +621,7 @@ gboolean nm_completion_boolean_function1_test(int tries, if (message) if ((log_interval == 0 && tries == 0) || (log_interval != 0 && tries % log_interval == 0)) - syslog(log_level, message); + syslog(log_level, "%s", message); if (!(*condition)(arg0)) return TRUE; @@ -645,7 +645,7 @@ gboolean nm_completion_boolean_function2_test(int tries, if (message) if ((log_interval == 0 && tries == 0) || (log_interval != 0 && tries % log_interval == 0)) - syslog(log_level, message); + syslog(log_level, "%s", message); if (!(*condition)(arg0, arg1)) return TRUE;