On Thu, Sep 23, 2010 at 10:08:40AM +0200, Nacho ?lvarez wrote:
> That's not the problem, I think, because if the only instruction of the
> function is:
>
> int rsa_keygen (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb) {
> return 1;
> }
>
> I get the "segmentation fault" when the rsa_keygen ends. But if I return 0
> or -1 (errors) OpenSSL reports me "error in genrsa" and call ends ok (no
> segmentation fault or something like that).
What about posting the relevant part of the code?
And the gdb output.
It would help a lot.
Cheers
Christian
>
> 2010/9/22 Christian Hohnstaedt <[email protected]>
>
> > On Wed, Sep 22, 2010 at 03:41:30PM +0200, Nacho ?lvarez wrote:
> > > Hello everybody
> > >
> > > Several months ago I developed an OpenSSL PKCS#11 engine for Windows XP
> > and
> > > it worked ok (it was compiled with MinGW).
> > > Now I'm trying to compile it on Linux (Debian 5 with GCC 4.3.1) but I
> > have
> > > the next problem:
> > >
> > > In the overwritten function *rsa_keygen* (whose signature is *int
> > rsa_keygen
> > > (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)*) always when the function
> > > ends (after the return instrucction) System reports me *Segmentation
> > Fault*.
> >
> > You overwrote you return address on the stack most probably by
> > accessing a locally declared array out of bounds.
> >
> > Cheers
> >
> > Christian
> > ______________________________________________________________________
> > OpenSSL Project http://www.openssl.org
> > User Support Mailing List [email protected]
> > Automated List Manager [email protected]
> >
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]