diff options
| author | Dina K Nimeh <Dina.Nimeh@Sun.Com> | 2008-11-11 10:46:19 -0800 |
|---|---|---|
| committer | Dina K Nimeh <Dina.Nimeh@Sun.Com> | 2008-11-11 10:46:19 -0800 |
| commit | 6f02aa444eb77edda1b97ff8a1215c417932a62e (patch) | |
| tree | 3a625331d877c330f03deb0730264624e240ded3 /usr/src | |
| parent | d759eef091b52e0826684715bc59f323939dcb97 (diff) | |
| download | illumos-joyent-6f02aa444eb77edda1b97ff8a1215c417932a62e.tar.gz | |
6743213 lofi ioctl filename should be MAXPATHLEN
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/uts/common/fs/vfs.c | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/io/lofi.c | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/sys/lofi.h | 4 | ||||
| -rw-r--r-- | usr/src/uts/common/xen/io/xdb.c | 20 |
4 files changed, 13 insertions, 15 deletions
diff --git a/usr/src/uts/common/fs/vfs.c b/usr/src/uts/common/fs/vfs.c index c104b6fe71..30e9cf7430 100644 --- a/usr/src/uts/common/fs/vfs.c +++ b/usr/src/uts/common/fs/vfs.c @@ -1033,7 +1033,7 @@ lofi_add(const char *fsname, struct vfs *vfsp, ldi_id = ldi_ident_from_anon(); li = kmem_zalloc(sizeof (*li), KM_SLEEP); - (void) strlcpy(li->li_filename, pn.pn_path, MAXPATHLEN + 1); + (void) strlcpy(li->li_filename, pn.pn_path, MAXPATHLEN); /* * The lofi control node is currently exclusive-open. We'd like diff --git a/usr/src/uts/common/io/lofi.c b/usr/src/uts/common/io/lofi.c index e5f91f73aa..8ad6f4f9e7 100644 --- a/usr/src/uts/common/io/lofi.c +++ b/usr/src/uts/common/io/lofi.c @@ -844,7 +844,7 @@ copy_in_lofi_ioctl(const struct lofi_ioctl *ulip, int flag) } /* make sure filename is always null-terminated */ - klip->li_filename[MAXPATHLEN] = '\0'; + klip->li_filename[MAXPATHLEN - 1] = '\0'; /* validate minor number */ if (klip->li_minor > lofi_max_files) { diff --git a/usr/src/uts/common/sys/lofi.h b/usr/src/uts/common/sys/lofi.h index 7ae6574483..2973b0d096 100644 --- a/usr/src/uts/common/sys/lofi.h +++ b/usr/src/uts/common/sys/lofi.h @@ -27,8 +27,6 @@ #ifndef _SYS_LOFI_H #define _SYS_LOFI_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/time.h> #include <sys/taskq.h> @@ -120,7 +118,7 @@ struct lofi_ioctl { uint32_t li_minor; boolean_t li_force; boolean_t li_cleanup; - char li_filename[MAXPATHLEN + 1]; + char li_filename[MAXPATHLEN]; char li_algorithm[MAXALGLEN]; }; diff --git a/usr/src/uts/common/xen/io/xdb.c b/usr/src/uts/common/xen/io/xdb.c index ad4fb8b741..5f327bb9ff 100644 --- a/usr/src/uts/common/xen/io/xdb.c +++ b/usr/src/uts/common/xen/io/xdb.c @@ -822,7 +822,7 @@ xdb_setup_node(xdb_t *vdp, char *path) } if (!XDB_IS_LOFI(vdp)) { - (void) strlcpy(path, node, MAXPATHLEN + 1); + (void) strlcpy(path, node, MAXPATHLEN); kmem_free(node, len); return (DDI_SUCCESS); } @@ -837,7 +837,7 @@ xdb_setup_node(xdb_t *vdp, char *path) } li = kmem_zalloc(sizeof (*li), KM_SLEEP); - (void) strlcpy(li->li_filename, node, MAXPATHLEN + 1); + (void) strlcpy(li->li_filename, node, MAXPATHLEN); kmem_free(node, len); if (ldi_ioctl(ldi_hdl, LOFI_MAP_FILE, (intptr_t)li, LOFI_MODE | FKIOCTL, kcred, &minor) != 0) { @@ -851,7 +851,7 @@ xdb_setup_node(xdb_t *vdp, char *path) * return '/devices/...' instead of '/dev/lofi/...' since the * former is available immediately after calling ldi_ioctl */ - (void) snprintf(path, MAXPATHLEN + 1, LOFI_DEV_NODE "%d", minor); + (void) snprintf(path, MAXPATHLEN, LOFI_DEV_NODE "%d", minor); (void) xenbus_printf(XBT_NULL, xsnode, "node", "%s", path); (void) ldi_close(ldi_hdl, LOFI_MODE, kcred); kmem_free(li, sizeof (*li)); @@ -887,7 +887,7 @@ xdb_teardown_node(xdb_t *vdp) } li = kmem_zalloc(sizeof (*li), KM_SLEEP); - (void) strlcpy(li->li_filename, node, MAXPATHLEN + 1); + (void) strlcpy(li->li_filename, node, MAXPATHLEN); kmem_free(node, len); do { @@ -952,20 +952,20 @@ xdb_open_device(xdb_t *vdp) if (ldi_ident_from_dip(dip, &vdp->xs_ldi_li) != 0) return (DDI_FAILURE); - nodepath = kmem_zalloc(MAXPATHLEN + 1, KM_SLEEP); + nodepath = kmem_zalloc(MAXPATHLEN, KM_SLEEP); err = xdb_setup_node(vdp, nodepath); if (err != DDI_SUCCESS) { xvdi_fatal_error(dip, err, "Getting device path of backend device"); ldi_ident_release(vdp->xs_ldi_li); - kmem_free(nodepath, MAXPATHLEN + 1); + kmem_free(nodepath, MAXPATHLEN); return (DDI_FAILURE); } if (*nodepath == '\0') { /* Allow a CD-ROM device with an empty backend. */ vdp->xs_sectors = 0; - kmem_free(nodepath, MAXPATHLEN + 1); + kmem_free(nodepath, MAXPATHLEN); return (DDI_SUCCESS); } @@ -976,7 +976,7 @@ xdb_open_device(xdb_t *vdp) ldi_ident_release(vdp->xs_ldi_li); cmn_err(CE_WARN, "xdb@%s: Failed to open: %s", ddi_get_name_addr(dip), nodepath); - kmem_free(nodepath, MAXPATHLEN + 1); + kmem_free(nodepath, MAXPATHLEN); return (DDI_FAILURE); } @@ -995,12 +995,12 @@ xdb_open_device(xdb_t *vdp) FREAD | (XDB_IS_RO(vdp) ? 0 : FWRITE), kcred); xdb_teardown_node(vdp); ldi_ident_release(vdp->xs_ldi_li); - kmem_free(nodepath, MAXPATHLEN + 1); + kmem_free(nodepath, MAXPATHLEN); return (DDI_FAILURE); } vdp->xs_sectors = devsize / XB_BSIZE; - kmem_free(nodepath, MAXPATHLEN + 1); + kmem_free(nodepath, MAXPATHLEN); return (DDI_SUCCESS); } |
