xelerance / Openswan

Openswan
Other
852 stars 214 forks source link

null ref segfault #462

Closed AnatoliChe closed 3 years ago

AnatoliChe commented 3 years ago

I can't reproduce it stable. But I have segfault some times peer week. gdb OBJ.linux.x86_64/programs/pluto/pluto -c core.0.pluto.9389 Core was generated by `/usr/local/libexec/ipsec/pluto --nofork --secretsfile /etc/ipsec.secrets --ipse'. Program terminated with signal SIGSEGV, Segmentation fault.

0 setup_half_ipsec_sa (parent_st=parent_st@entry=0x0, st=st@entry=0x55bfdfa00050, sr=sr@entry=0x7ffeaece2d30, inbound=inbound@entry=1) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/kernel.c:1718

1718 const char *inbound_str = inbound ? "inbound" : "outbound"; (gdb) bt

0 setup_half_ipsec_sa (parent_st=parent_st@entry=0x0, st=st@entry=0x55bfdfa00050, sr=sr@entry=0x7ffeaece2d30, inbound=inbound@entry=1) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/kernel.c:1718

1 0x000055bfdf7591a8 in install_ipsec_sa (parent_st=0x0, st=st@entry=0x55bfdfa00050, inbound_also=inbound_also@entry=1) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/kernel.c:3020

2 0x000055bfdf73e6a7 in quick_inR1_outI2_cryptotail (r=r@entry=0x7ffeaece31e0, dh=) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/ikev1_quick.c:2639

3 0x000055bfdf73e96e in quick_inR1_outI2_continue (pcrc=0x55bfdf9c9df0, r=0x7ffeaece31e0, ugh=0x0) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/ikev1_quick.c:2472

4 0x000055bfdf769d2f in handle_helper_comm (w=w@entry=0x55bfdf999440) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/pluto_crypt.c:827

5 0x000055bfdf76ab3b in pluto_crypto_helper_ready (readfds=readfds@entry=0x7ffeaece4890) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/pluto_crypt.c:1101

6 0x000055bfdf72c9e9 in call_server () at /usr/src/staging/openswan-2.6.52.3/programs/pluto/server.c:798

7 0x000055bfdf716faf in main (argc=, argv=) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/plutomain.c:1134

(gdb) frame 0

0 setup_half_ipsec_sa (parent_st=parent_st@entry=0x0, st=st@entry=0x55bfdfa00050, sr=sr@entry=0x7ffeaece2d30, inbound=inbound@entry=1) at /usr/src/staging/openswan-2.6.52.3/programs/pluto/kernel.c:1718

1718 const char *inbound_str = inbound ? "inbound" : "outbound";

(gdb)list - 1695 static bool 1696 setup_half_ipsec_sa(struct state parent_st (gdb) p parent_st Cannot access memory at address 0x0

Could you merge (https://github.com/xelerance/Openswan/pull/461/commits/9bf68fd59162e7a137c0f3355dc9885386663e55) or write other fix, please.