summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2011-06-21 04:52:34 -0700
committerRichard Lowe <richlowe@richlowe.net>2011-06-21 04:52:34 -0700
commit5963c4f9d1eb33d95ac319791aa1d0b9ea17f154 (patch)
treeb9e3e3577a47f6a87704985040fcbb18083fd411 /usr/src
parent438b5f69eb4f998015cc0835f19f2f80663f2f53 (diff)
downloadillumos-joyent-5963c4f9d1eb33d95ac319791aa1d0b9ea17f154.tar.gz
1549 SPARC pci drivers write past end of pcitool driver name
Reviewed by: Albert Lee <trisk@nexenta.com> Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Garrett D'Amore <garrett@nexenta.com> Reviewed by: Dan McDonald <danmcd@nexenta.com> Approved by: Garrett D'Amore <garrett@nexenta.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/sun4/io/px/px_ib.c5
-rw-r--r--usr/src/uts/sun4u/io/pci/pci_ib.c5
-rw-r--r--usr/src/uts/sun4v/io/niumx/niumx_tools.c5
3 files changed, 6 insertions, 9 deletions
diff --git a/usr/src/uts/sun4/io/px/px_ib.c b/usr/src/uts/sun4/io/px/px_ib.c
index 8cd8b7354f..f0c875a0d9 100644
--- a/usr/src/uts/sun4/io/px/px_ib.c
+++ b/usr/src/uts/sun4/io/px/px_ib.c
@@ -1092,9 +1092,8 @@ static void
px_fill_in_intr_devs(pcitool_intr_dev_t *dev, char *driver_name,
char *path_name, int instance)
{
- (void) strncpy(dev->driver_name, driver_name, MAXMODCONFNAME-1);
- dev->driver_name[MAXMODCONFNAME] = '\0';
- (void) strncpy(dev->path, path_name, MAXPATHLEN-1);
+ (void) strlcpy(dev->driver_name, driver_name, MAXMODCONFNAME);
+ (void) strlcpy(dev->path, path_name, MAXPATHLEN);
dev->dev_inst = instance;
}
diff --git a/usr/src/uts/sun4u/io/pci/pci_ib.c b/usr/src/uts/sun4u/io/pci/pci_ib.c
index 3e4517b68e..cedfc35e05 100644
--- a/usr/src/uts/sun4u/io/pci/pci_ib.c
+++ b/usr/src/uts/sun4u/io/pci/pci_ib.c
@@ -1036,10 +1036,9 @@ ib_get_ino_devs(
for (i = 0, ih_p = ipil_p->ipil_ih_head;
((i < ipil_p->ipil_ih_size) && (i < *devs_ret));
i++, j++, ih_p = ih_p->ih_next) {
- (void) strncpy(devs[i].driver_name,
+ (void) strlcpy(devs[i].driver_name,
ddi_driver_name(ih_p->ih_dip),
- MAXMODCONFNAME-1);
- devs[i].driver_name[MAXMODCONFNAME] = '\0';
+ MAXMODCONFNAME);
(void) ddi_pathname(ih_p->ih_dip, devs[i].path);
devs[i].dev_inst =
ddi_get_instance(ih_p->ih_dip);
diff --git a/usr/src/uts/sun4v/io/niumx/niumx_tools.c b/usr/src/uts/sun4v/io/niumx/niumx_tools.c
index f65b97baa5..1687b06654 100644
--- a/usr/src/uts/sun4v/io/niumx/niumx_tools.c
+++ b/usr/src/uts/sun4v/io/niumx/niumx_tools.c
@@ -244,9 +244,8 @@ static void
niumxtool_fill_in_intr_devs(pcitool_intr_dev_t *dev, char *driver_name,
char *path_name, int instance)
{
- (void) strncpy(dev->driver_name, driver_name, MAXMODCONFNAME-1);
- dev->driver_name[MAXMODCONFNAME] = '\0';
- (void) strncpy(dev->path, path_name, MAXPATHLEN-1);
+ (void) strlcpy(dev->driver_name, driver_name, MAXMODCONFNAME);
+ (void) strlcpy(dev->path, path_name, MAXPATHLEN);
dev->dev_inst = instance;
}