Simon Horman <horms at verge.net.au> writes: At least the change of ret from ssize_t to size_t is bogus. pread returns a ssize_t and I am comparing it against sizeof(X). We might as we type convert in the comparison. That test is a necessary and real comparison and I don't think hiding that fact with an implicit conversion does anything but obfuscate things. > Cc: Eric W. Biederman <ebiederm at xmission.com> > Signed-off-by: Simon Horman <horms at verge.net.au> > --- > vmcore-dmesg/vmcore-dmesg.c | 12 ++++-------- > 1 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c > index 365e293..f7eef16 100644 > --- a/vmcore-dmesg/vmcore-dmesg.c > +++ b/vmcore-dmesg/vmcore-dmesg.c > @@ -79,8 +79,7 @@ static void read_elf32(int fd) > { > Elf32_Ehdr ehdr32; > Elf32_Phdr *phdr32; > - size_t phdrs32_size, phdrs_size; > - ssize_t ret, i; > + ssize_t phdrs32_size, phdrs_size, ret, i; > > ret = pread(fd, &ehdr32, sizeof(ehdr32), 0); > if (ret != sizeof(ehdr32)) { > @@ -151,8 +150,7 @@ static void read_elf64(int fd) > { > Elf64_Ehdr ehdr64; > Elf64_Phdr *phdr64; > - size_t phdrs_size; > - ssize_t ret, i; > + size_t phdrs_size, ret, i; > > ret = pread(fd, &ehdr64, sizeof(ehdr64), 0); > if (ret != sizeof(ehdr)) { > @@ -240,8 +238,7 @@ static void scan_vmcoreinfo(char *start, size_t size) > }; > > for (pos = start; pos <= last; pos = eol + 1) { > - size_t len; > - int i; > + size_t len, i; > /* Find the end of the current line */ > for (eol = pos; (eol <= last) && (*eol != '\n') ; eol++) > ; > @@ -274,8 +271,7 @@ static void scan_vmcoreinfo(char *start, size_t size) > static void scan_notes(int fd, loff_t start, loff_t lsize) > { > char *buf, *last, *note, *next; > - size_t size; > - ssize_t ret; > + ssize_t size, ret; > > if (lsize > LONG_MAX) { > fprintf(stderr, "Unable to handle note section of %llu bytes\n",