Skip to content

Commit

Permalink
#5668: corrections after compiling with -qinfo=all:als.
Browse files Browse the repository at this point in the history
The ongoing discussion about casting or not in PR #5626 had me compiling
again with above mentioned flags. Indeed the compiler had to say something
about it and I did these changes to silence it again.

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from #5943)
  • Loading branch information
Matthias Kraft authored and levitte committed Apr 14, 2018
1 parent 560096f commit d47eb76
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions crypto/dso/dso_dlfcn.c
Original file line number Diff line number Diff line change
Expand Up @@ -326,8 +326,9 @@ typedef struct Dl_info {
* address of a function, which is just located in the DATA segment instead of
* the TEXT segment.
*/
static int dladdr(void *addr, Dl_info *dl)
static int dladdr(void *ptr, Dl_info *dl)
{
uintptr_t addr = (uintptr_t)ptr;
unsigned int found = 0;
struct ld_info *ldinfos, *next_ldi, *this_ldi;

Expand All @@ -352,11 +353,12 @@ static int dladdr(void *addr, Dl_info *dl)

do {
this_ldi = next_ldi;
if (((addr >= this_ldi->ldinfo_textorg)
&& (addr < (this_ldi->ldinfo_textorg + this_ldi->ldinfo_textsize)))
|| ((addr >= this_ldi->ldinfo_dataorg)
&& (addr <
(this_ldi->ldinfo_dataorg + this_ldi->ldinfo_datasize)))) {
if (((addr >= (uintptr_t)this_ldi->ldinfo_textorg)
&& (addr < ((uintptr_t)this_ldi->ldinfo_textorg +
this_ldi->ldinfo_textsize)))
|| ((addr >= (uintptr_t)this_ldi->ldinfo_dataorg)
&& (addr < ((uintptr_t)this_ldi->ldinfo_dataorg +
this_ldi->ldinfo_datasize)))) {
found = 1;
/*
* Ignoring the possibility of a member name and just returning
Expand All @@ -367,7 +369,8 @@ static int dladdr(void *addr, Dl_info *dl)
OPENSSL_strdup(this_ldi->ldinfo_filename)) == NULL)
errno = ENOMEM;
} else {
next_ldi = (char *)this_ldi + this_ldi->ldinfo_next;
next_ldi =
(struct ld_info *)((uintptr_t)this_ldi + this_ldi->ldinfo_next);
}
} while (this_ldi->ldinfo_next && !found);
OPENSSL_free((void *)ldinfos);
Expand Down Expand Up @@ -395,7 +398,7 @@ static int dlfcn_pathbyaddr(void *addr, char *path, int sz)
len = (int)strlen(dli.dli_fname);
if (sz <= 0) {
# ifdef _AIX
OPENSSL_free(dli.dli_fname);
OPENSSL_free((void *)dli.dli_fname);
# endif
return len + 1;
}
Expand All @@ -404,7 +407,7 @@ static int dlfcn_pathbyaddr(void *addr, char *path, int sz)
memcpy(path, dli.dli_fname, len);
path[len++] = 0;
# ifdef _AIX
OPENSSL_free(dli.dli_fname);
OPENSSL_free((void *)dli.dli_fname);
# endif
return len;
}
Expand Down

0 comments on commit d47eb76

Please sign in to comment.