From 59ab2fd85498db22c97f6b4ff77e7bac1931506e Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 3 Jan 2011 14:57:46 -0500 Subject: - don't crash if we hit out-of-memory on startup (defect #10096) --- src/plug-nis.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/plug-nis.c') diff --git a/src/plug-nis.c b/src/plug-nis.c index e6edf4a..f008a06 100644 --- a/src/plug-nis.c +++ b/src/plug-nis.c @@ -419,17 +419,19 @@ plugin_state_init(Slapi_PBlock *pb, struct plugin_state **lstate) *lstate = state; return 0; failed: - for (i = 0; i < state->n_listeners; i++) { - close(state->listener[i].fd); - state->listener[i].fd = -1; - } - if (state->pmap_client_socket != -1) { - close(state->pmap_client_socket); - state->pmap_client_socket = -1; + if (state != NULL) { + err = errno; + for (i = 0; i < state->n_listeners; i++) { + close(state->listener[i].fd); + state->listener[i].fd = -1; + } + if (state->pmap_client_socket != -1) { + close(state->pmap_client_socket); + state->pmap_client_socket = -1; + } + free(state); + errno = err; } - err = errno; - free(state); - errno = err; return -1; } -- cgit