Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/dirent.c

    ra35b458 rbebd154  
    3939#include <errno.h>
    4040#include <assert.h>
     41#include <string.h>
     42
     43struct __dirstream {
     44        int fd;
     45        struct dirent res;
     46        aoff64_t pos;
     47};
    4148
    4249/** Open directory.
     
    8693        ssize_t len = 0;
    8794
    88         rc = vfs_read_short(dirp->fd, dirp->pos, &dirp->res.d_name[0],
    89             NAME_MAX + 1, &len);
     95        rc = vfs_read_short(dirp->fd, dirp->pos, dirp->res.d_name,
     96            sizeof(dirp->res.d_name), &len);
    9097        if (rc != EOK) {
    9198                errno = rc;
    9299                return NULL;
    93100        }
     101
     102        assert(strnlen(dirp->res.d_name, sizeof(dirp->res.d_name)) < sizeof(dirp->res.d_name));
    94103
    95104        dirp->pos += len;
Note: See TracChangeset for help on using the changeset viewer.