Fix implicit function declaration: rindex on Solaris

Compilation on reports warning:

"auth_mellon_diagnostics.c", line 188: warning: implicit function declaration: rindex
"auth_mellon_diagnostics.c", line 188: warning: improper pointer/integer combination: op "="

And binary dumps core, because rindex() is assumed to be integer type, so
compiler sign extends its return value and then uses the number as pointer:

am_diag_cond_str+0x154:      call   -0x1e119 <PLT=libc.so.1`rindex>
am_diag_cond_str+0x159:      movslq %eax,%rax
am_diag_cond_str+0x15c:      testq  %rax,%rax
am_diag_cond_str+0x15f:      je     +0x7     <am_diag_cond_str+0x168>
am_diag_cond_str+0x161:      movb   $0x5d,(%rax)  <- SIGSEGV

Fixes issue #207.
This commit is contained in:
Vita Batrla 2019-06-07 10:28:14 +02:00
parent 8949b0e3d9
commit f9b925f21c
1 changed files with 1 additions and 0 deletions

View File

@ -25,6 +25,7 @@
#include "config.h"
#include <stdbool.h>
#include <strings.h>
#include <lasso/lasso.h>
#include <lasso/xml/saml-2.0/samlp2_authn_request.h>