diff options
-rw-r--r-- | sys/fs/pseudofs/pseudofs_vnops.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/fs/pseudofs/pseudofs_vnops.c b/sys/fs/pseudofs/pseudofs_vnops.c index cf2d3aa..3f1be4c 100644 --- a/sys/fs/pseudofs/pseudofs_vnops.c +++ b/sys/fs/pseudofs/pseudofs_vnops.c @@ -364,12 +364,13 @@ pfs_vptocnp(struct vop_vptocnp_args *ap) } bcopy(pidbuf, buf + i, len); } else { - i -= strlen(pd->pn_name); + len = strlen(pd->pn_name); + i -= len; if (i < 0) { error = ENOMEM; goto failed; } - bcopy(pd->pn_name, buf + i, strlen(pd->pn_name)); + bcopy(pd->pn_name, buf + i, len); } pn = pd->pn_parent; |