openssl#5668: corrections after compiling with -qinfo=all:als.
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 https://github.com/openssl/openssl/pull/5943)
This commit is contained in:
parent
560096f804
commit
d47eb76cd5
1 changed files with 12 additions and 9 deletions
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue