X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust%2Flttng-ust-elf.c;h=9186ee90cb7ab093a27b8eabcc03370076e5a3a8;hb=f5a6717a184f2e2fa2e3f32cffe92904084c077e;hp=116a3a6df4c5705319e83de3245ededd878716fa;hpb=814d07b125fd4e0d24648d6d5215df09ccd4a0d4;p=lttng-ust.git diff --git a/liblttng-ust/lttng-ust-elf.c b/liblttng-ust/lttng-ust-elf.c index 116a3a6d..9186ee90 100644 --- a/liblttng-ust/lttng-ust-elf.c +++ b/liblttng-ust/lttng-ust-elf.c @@ -39,7 +39,7 @@ struct lttng_ust_elf_phdr *lttng_ust_elf_get_phdr(struct lttng_ust_elf *elf, uint16_t index) { struct lttng_ust_elf_phdr *phdr = NULL; - long offset; + off_t offset; if (!elf) { goto error; @@ -54,7 +54,8 @@ struct lttng_ust_elf_phdr *lttng_ust_elf_get_phdr(struct lttng_ust_elf *elf, goto error; } - offset = elf->ehdr->e_phoff + index * elf->ehdr->e_phentsize; + offset = (off_t) elf->ehdr->e_phoff + + (off_t) index * elf->ehdr->e_phentsize; if (lseek(elf->fd, offset, SEEK_SET) < 0) { goto error; } @@ -101,7 +102,7 @@ struct lttng_ust_elf_shdr *lttng_ust_elf_get_shdr(struct lttng_ust_elf *elf, uint16_t index) { struct lttng_ust_elf_shdr *shdr = NULL; - long offset; + off_t offset; if (!elf) { goto error; @@ -116,7 +117,8 @@ struct lttng_ust_elf_shdr *lttng_ust_elf_get_shdr(struct lttng_ust_elf *elf, goto error; } - offset = elf->ehdr->e_shoff + index * elf->ehdr->e_shentsize; + offset = (off_t) elf->ehdr->e_shoff + + (off_t) index * elf->ehdr->e_shentsize; if (lseek(elf->fd, offset, SEEK_SET) < 0) { goto error; } @@ -160,7 +162,7 @@ error: * If no name is found, NULL is returned. */ static -char *lttng_ust_elf_get_section_name(struct lttng_ust_elf *elf, uint32_t offset) +char *lttng_ust_elf_get_section_name(struct lttng_ust_elf *elf, off_t offset) { char *name = NULL; size_t len = 0, to_read; /* len does not include \0 */ @@ -403,7 +405,7 @@ error: static int lttng_ust_elf_get_build_id_from_segment( struct lttng_ust_elf *elf, uint8_t **build_id, size_t *length, - uint64_t offset, uint64_t segment_end, int *found) + off_t offset, off_t segment_end, int *found) { uint8_t *_build_id = NULL; /* Silence old gcc warning. */ size_t _length = 0; /* Silence old gcc warning. */ @@ -452,7 +454,7 @@ int lttng_ust_elf_get_build_id_from_segment( _length = nhdr.n_descsz; _build_id = zmalloc(sizeof(uint8_t) * _length); - if (!build_id) { + if (!_build_id) { goto error; } @@ -496,8 +498,8 @@ int lttng_ust_elf_get_build_id(struct lttng_ust_elf *elf, uint8_t **build_id, size_t *length, int *found) { uint16_t i; - uint8_t *_build_id; - size_t _length; + uint8_t *_build_id = NULL; /* Silence old gcc warning. */ + size_t _length = 0; /* Silence old gcc warning. */ int _found = 0; if (!elf || !build_id || !length || !found) { @@ -505,7 +507,7 @@ int lttng_ust_elf_get_build_id(struct lttng_ust_elf *elf, uint8_t **build_id, } for (i = 0; i < elf->ehdr->e_phnum; ++i) { - uint64_t offset, segment_end; + off_t offset, segment_end; struct lttng_ust_elf_phdr *phdr; int ret = 0; @@ -561,10 +563,10 @@ int lttng_ust_elf_get_debug_link_from_section(struct lttng_ust_elf *elf, struct lttng_ust_elf_shdr *shdr) { int _found = 0; - char *_filename; + char *_filename = NULL; /* Silence old gcc warning. */ size_t filename_len; char *section_name = NULL; - uint32_t _crc; + uint32_t _crc = 0; /* Silence old gcc warning. */ if (!elf || !filename || !crc || !found || !shdr) { goto error; @@ -645,8 +647,8 @@ int lttng_ust_elf_get_debug_link(struct lttng_ust_elf *elf, char **filename, int ret; uint16_t i; int _found = 0; - char *_filename; - uint32_t _crc; + char *_filename = NULL; /* Silence old gcc warning. */ + uint32_t _crc = 0; /* Silence old gcc warning. */ if (!elf || !filename || !crc || !found) { goto error;