diff --git a/plugin/auth-pam/auth-pam.c b/plugin/auth-pam/auth-pam.c index 52c62db4..b029f85c 100644 --- a/plugin/auth-pam/auth-pam.c +++ b/plugin/auth-pam/auth-pam.c @@ -305,6 +305,8 @@ openvpn_plugin_open_v1 (unsigned int *type_mask, const char *argv[], const char * Allocate our context */ context = (struct auth_pam_context *) calloc (1, sizeof (struct auth_pam_context)); + if (!context) + goto error; context->foreground_fd = -1; /* @@ -492,7 +494,7 @@ openvpn_plugin_abort_v1 (openvpn_plugin_handle_t handle) struct auth_pam_context *context = (struct auth_pam_context *) handle; /* tell background process to exit */ - if (context->foreground_fd >= 0) + if (context && context->foreground_fd >= 0) { send_control (context->foreground_fd, COMMAND_EXIT); close (context->foreground_fd); diff --git a/plugin/down-root/down-root.c b/plugin/down-root/down-root.c index 5e0c002e..7cf8f181 100644 --- a/plugin/down-root/down-root.c +++ b/plugin/down-root/down-root.c @@ -274,6 +274,8 @@ openvpn_plugin_open_v1 (unsigned int *type_mask, const char *argv[], const char * Allocate our context */ context = (struct down_root_context *) calloc (1, sizeof (struct down_root_context)); + if (!context) + goto error; context->foreground_fd = -1; /* @@ -434,7 +436,7 @@ openvpn_plugin_abort_v1 (openvpn_plugin_handle_t handle) { struct down_root_context *context = (struct down_root_context *) handle; - if (context->foreground_fd >= 0) + if (context && context->foreground_fd >= 0) { /* tell background process to exit */ send_control (context->foreground_fd, COMMAND_EXIT);