]> Zhao Yanbai Git Server - minix.git/commitdiff
libvtreefs: resolve Coverity warnings
authorDavid van Moolenbroek <david@minix3.org>
Mon, 30 Jul 2012 14:00:22 +0000 (14:00 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Mon, 30 Jul 2012 14:00:22 +0000 (14:00 +0000)
lib/libvtreefs/inode.c
lib/libvtreefs/path.c
lib/libvtreefs/read.c

index 6eef9b2142b372ca290aa21f3b13c777d2292f50..bb0410807381474d3e51950b8fc8a75b26b2217a 100644 (file)
@@ -211,7 +211,7 @@ struct inode *add_inode(struct inode *parent, char *name,
        newnode->i_stat = *stat;
        newnode->i_indexed = nr_indexed_entries;
        newnode->i_cbdata = cbdata;
-       strcpy(newnode->i_name, name);
+       strlcpy(newnode->i_name, name, sizeof(newnode->i_name));
 
        /* Add the inode to the list of children inodes of the parent. */
        TAILQ_INSERT_HEAD(&parent->i_children, newnode, i_siblings);
index f2db11792ac94c55df36744879c34b7737ad09ed..e46c3f522fb4be845e4f9c1b3b80cea10bc9c8ae 100644 (file)
@@ -114,7 +114,7 @@ static int go_down(struct inode *parent, char *name, struct inode **child)
 /*===========================================================================*
  *                             resolve_link                                 *
  *===========================================================================*/
-static int resolve_link(struct inode *node, char *pptr, char *tail)
+static int resolve_link(struct inode *node, char pptr[PATH_MAX], char *tail)
 {
        /* Given a symbolic link, resolve and return the contents of the link.
         */
@@ -135,9 +135,9 @@ static int resolve_link(struct inode *node, char *pptr, char *tail)
        if (len + strlen(tail) >= sizeof(path))
                return ENAMETOOLONG;
 
-       strcat(path, tail);
+       strlcat(path, tail, sizeof(path));
 
-       strcpy(pptr, path);
+       strlcpy(pptr, path, PATH_MAX);
 
        return OK;
 }
index 86512885dcc88cfc676c19f950af8c389803e207..d5357622ece7bba99d915abe1bf1c28355946813 100644 (file)
@@ -45,7 +45,7 @@ int fs_read(void)
                r = vtreefs_hooks->read_hook(node, pos, &ptr, &len,
                        get_inode_cbdata(node));
 
-               assert(len >= 0 && len <= fs_m_in.REQ_NBYTES);
+               assert(len <= fs_m_in.REQ_NBYTES);
 
                /* Copy the resulting data to user space. */
                if (r == OK && len > 0) {