I found where the segmentation fault happens. There is no link between SSL function call and the seg fault. SSL functions work fine until now.
2011/3/1 ikuzar <razuk...@gmail.com> > Hello, > I develop a secure stack. This stack is between TCP and an application. The > appli call my stack's functions ( my_connect( ), my_listen( ), etc. ). I > have got segmentation fault after launching the the program. > > SERVER SIDE : > > my_recv( ) is like this : > > int my_recv(my_cn sd, char* buf, size_t* len, unsigned int flags, unsigned > int timeout){ > ... > err = SSL_read(si->ssl, buf, *len); > switch(err) { > ... > } > } > > I call my_recv( ) in main( ) like this : > > main( ){ > ... > lsock = my_listen(0, TESTPORT, test_proto, 5); // that's OK > my_cn s2 = my_accept(lsock, &addr, &port); // That's OK > ... > char buf[10]; > size_t len = 5; > my_recv(s2, buf, &len, 0, 0); // Here is seg fault > ... > } > > After a simple debug ( only in server side) , I realized that: > 1) seg fault is caused by SSL_read( ) > 2) si->ssl != NULL > > CLIENT SIDE : > maint( ) { > my_cn sock = my_connect(inet_addr("127.0.0.1"), TESTPORT, &local_addr, > &local_port, test_proto); // That's OK > my_send(sock, "Test", 5); // it fails ( seg fault here ... ? ); > ... > } > > I am wondering what would cause the problem, probably buf or len...!? I > tried char buf[5] but I have got the same result. > > Does someone find what happens. > > Thanks >