diff options
Diffstat (limited to 'libelf/libelf_checksum.c')
| -rw-r--r-- | libelf/libelf_checksum.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libelf/libelf_checksum.c b/libelf/libelf_checksum.c index 8f84aa4d0f05..f05f9a936404 100644 --- a/libelf/libelf_checksum.c +++ b/libelf/libelf_checksum.c @@ -30,7 +30,7 @@ #include "_libelf.h" -ELFTC_VCSID("$Id: libelf_checksum.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: libelf_checksum.c 3003 2014-03-22 07:43:10Z jkoshy $"); static unsigned long _libelf_sum(unsigned long c, const unsigned char *s, size_t size) @@ -44,7 +44,7 @@ _libelf_sum(unsigned long c, const unsigned char *s, size_t size) return (c); } -unsigned long +long _libelf_checksum(Elf *e, int elfclass) { size_t shn; @@ -90,11 +90,11 @@ _libelf_checksum(Elf *e, int elfclass) d = NULL; while ((d = elf_rawdata(scn, d)) != NULL) checksum = _libelf_sum(checksum, - (unsigned char *) d->d_buf, d->d_size); + (unsigned char *) d->d_buf, (size_t) d->d_size); } /* * Return a 16-bit checksum compatible with Solaris. */ - return (((checksum >> 16) & 0xFFFFUL) + (checksum & 0xFFFFUL)); + return (long) (((checksum >> 16) & 0xFFFFUL) + (checksum & 0xFFFFUL)); } |
