Deleted Added
full compact
40c40
< ELFTC_VCSID("$Id: elftc_copyfile.c 2981 2014-02-01 02:41:13Z jkoshy $");
---
> ELFTC_VCSID("$Id: elftc_copyfile.c 3297 2016-01-09 15:26:34Z jkoshy $");
49a50
> size_t file_size, n;
53,54c54
< ssize_t nw;
< size_t n;
---
> ssize_t nr, nw;
65a66
> file_size = (size_t) sb.st_size;
71c72
< buf = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, ifd, (off_t) 0);
---
> buf = mmap(NULL, file_size, PROT_READ, MAP_SHARED, ifd, (off_t) 0);
83c84
< if ((buf = malloc(sb.st_size)) == NULL)
---
> if ((buf = malloc(file_size)) == NULL)
85,87c86,91
< if (read(ifd, buf, sb.st_size) != sb.st_size) {
< free(buf);
< return (-1);
---
> b = buf;
> for (n = file_size; n > 0; n -= (size_t) nr, b += nr) {
> if ((nr = read(ifd, b, n)) < 0) {
> free(buf);
> return (-1);
> }
94c98
< for (n = sb.st_size, b = buf; n > 0; n -= nw, b += nw)
---
> for (n = file_size, b = buf; n > 0; n -= (size_t) nw, b += nw)
100c104
< if (buf_mmapped && munmap(buf, sb.st_size) < 0)
---
> if (buf_mmapped && munmap(buf, file_size) < 0)