The code was a mix of "assume that it is not NULL" and "check that it is not NULL before using" - it cannot be NULL (due to the single call graph, referencing c->sig with the global context), but for good measure, add an ASSERT() upon function entry and get rid of all the individual checks.
Signed-off-by: Gert Doering <[email protected]> --- src/openvpn/socket.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c index 184c7ad..18e6409 100644 --- a/src/openvpn/socket.c +++ b/src/openvpn/socket.c @@ -1857,8 +1857,9 @@ link_socket_init_phase2 (struct link_socket *sock, int sig_save = 0; ASSERT (sock); + ASSERT (sig_info); - if (sig_info && sig_info->signal_received) + if (sig_info->signal_received) { sig_save = sig_info->signal_received; sig_info->signal_received = 0; @@ -1879,7 +1880,7 @@ link_socket_init_phase2 (struct link_socket *sock, if (sock->inetd) { phase2_inetd (sock, frame, remote_dynamic, &sig_info->signal_received); - if (sig_info && sig_info->signal_received) + if (sig_info->signal_received) goto done; } @@ -1921,7 +1922,7 @@ link_socket_init_phase2 (struct link_socket *sock, goto done; } - if (sig_info && sig_info->signal_received) + if (sig_info->signal_received) goto done; if (sock->info.proto == PROTO_TCP_SERVER) @@ -1942,7 +1943,7 @@ link_socket_init_phase2 (struct link_socket *sock, if (sock->sd != -1) protect_fd_nonlocal (sock->sd, &sock->info.lsa->actual.dest.addr.sa); #endif - if (sig_info && sig_info->signal_received) + if (sig_info->signal_received) goto done; } @@ -1950,7 +1951,7 @@ link_socket_init_phase2 (struct link_socket *sock, linksock_print_addr(sock); done: - if (sig_save && sig_info) + if (sig_save) { if (!sig_info->signal_received) sig_info->signal_received = sig_save; -- 2.7.3 ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
