On 15/09/2015 11:55, Stefano Stabellini wrote: > On Mon, 14 Sep 2015, Paolo Bonzini wrote: >> > On 10/09/2015 12:29, Stefano Stabellini wrote: >>> > > + if (lseek(config_fd, pos, SEEK_SET) != pos) { >>> > > + return -errno; >>> > > + } >>> > > do { >>> > > - rc = pread(config_fd, (uint8_t *)&val, len, pos); >>> > > + rc = read(config_fd, (uint8_t *)&val, len); >>> > > } while (rc < 0 && (errno == EINTR || errno == EAGAIN)); >> > >> > This leaks config_fd. > I don't follow, it leaks config_fd where?
Where lseek returns -errno (and IIRC in other places in the same function). Paolo