From f969814fdf0c847985afa37776bf58a9336a4899 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 30 Jan 2017 18:49:39 +0100 Subject: [PATCH] s3/rpc_server: shared rpc modules loading The previous commit 58889e04bd545d7420d1193e134351bd0ccb8430 for this bug was broken as it didn't move the goto into the "if (errno != ENOENT)" condition. This updated fix folds the test "mod_init_fns == NULL" and the check for the errno into one if condition. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12184 Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison (cherry picked from commit 9785fe5af6613a728a7d92c82bbc31cabbe3a0b9) --- source3/rpc_server/rpc_service_setup.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/source3/rpc_server/rpc_service_setup.c b/source3/rpc_server/rpc_service_setup.c index 263fcaf..751a638 100644 --- a/source3/rpc_server/rpc_service_setup.c +++ b/source3/rpc_server/rpc_service_setup.c @@ -535,18 +535,15 @@ bool dcesrv_ep_setup(struct tevent_context *ev_ctx, /* Initialize shared modules */ mod_init_fns = load_samba_modules(tmp_ctx, "rpc"); - if (mod_init_fns == NULL) { - if (errno != ENOENT) { - /* - * ENOENT means the directory doesn't exist - * which can happen if all modules are - * static. So ENOENT is ok, everything else is - * not ok. - */ - DBG_ERR("Loading shared RPC modules failed [%s]\n", - strerror(errno)); - ok = false; - } + if ((mod_init_fns == NULL) && (errno != ENOENT)) { + /* + * ENOENT means the directory doesn't exist which can happen if + * all modules are static. So ENOENT is ok, everything else is + * not ok. + */ + DBG_ERR("Loading shared RPC modules failed [%s]\n", + strerror(errno)); + ok = false; goto done; } -- 2.9.3