ssize_t safe_read(int fd, void *buf, size_t count)
{
int r;
- int cnt = 0;
+ size_t cnt = 0;
while (cnt < count) {
r = read(fd, buf, count - cnt);
int ret = safe_read(fd, buf, count);
if (ret < 0)
return ret;
- if (ret != count)
+ if ((size_t)ret != count)
return -EDOM;
return 0;
}
ssize_t safe_pread(int fd, void *buf, size_t count, off_t offset)
{
int r;
- int cnt = 0;
+ size_t cnt = 0;
char *b = (char*)buf;
while (cnt < count) {
int ret = safe_pread(fd, buf, count, offset);
if (ret < 0)
return ret;
- if (ret != count)
+ if ((size_t)ret != count)
return -EDOM;
return 0;
}