The branch, master has been updated
       via  b0aba17 nss_wrapper: Fix a segfault when libnss_winbind.so is not 
loadable
       via  22d8d27 nss_wrapper: Make nwrap_module_init a bit more readable
      from  cfffd0f s3: Fix pdb_ads_enum_group_memberships args

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit b0aba1753820aa735d594f75b8ee01fa349297e3
Author: Volker Lendecke <[email protected]>
Date:   Wed Feb 23 23:20:27 2011 +0100

    nss_wrapper: Fix a segfault when libnss_winbind.so is not loadable
    
    Autobuild-User: Volker Lendecke <[email protected]>
    Autobuild-Date: Sat Feb 26 13:19:01 CET 2011 on sn-devel-104

commit 22d8d277c63e13f1e44221829fc3538f63526aa2
Author: Volker Lendecke <[email protected]>
Date:   Wed Feb 23 23:17:58 2011 +0100

    nss_wrapper: Make nwrap_module_init a bit more readable

-----------------------------------------------------------------------

Summary of changes:
 lib/nss_wrapper/nss_wrapper.c |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/nss_wrapper/nss_wrapper.c b/lib/nss_wrapper/nss_wrapper.c
index 42fc4cf..cfa5a68 100644
--- a/lib/nss_wrapper/nss_wrapper.c
+++ b/lib/nss_wrapper/nss_wrapper.c
@@ -464,6 +464,8 @@ static bool nwrap_module_init(const char *name,
                              int *num_backends,
                              struct nwrap_backend **backends)
 {
+       struct nwrap_backend *b;
+
        *backends = (struct nwrap_backend *)realloc(*backends,
                sizeof(struct nwrap_backend) * ((*num_backends) + 1));
        if (!*backends) {
@@ -472,11 +474,22 @@ static bool nwrap_module_init(const char *name,
                return false;
        }
 
-       (*backends)[*num_backends].name = name;
-       (*backends)[*num_backends].ops = ops;
-       (*backends)[*num_backends].so_path = so_path;
-       (*backends)[*num_backends].so_handle = nwrap_load_module(so_path);
-       (*backends)[*num_backends].fns = 
nwrap_load_module_fns(&((*backends)[*num_backends]));
+       b = &((*backends)[*num_backends]);
+
+       b->name = name;
+       b->ops = ops;
+       b->so_path = so_path;
+
+       if (so_path != NULL) {
+               b->so_handle = nwrap_load_module(so_path);
+               b->fns = nwrap_load_module_fns(b);
+               if (b->fns == NULL) {
+                       return false;
+               }
+       } else {
+               b->so_handle = NULL;
+               b->fns = NULL;
+       }
 
        (*num_backends)++;
 


-- 
Samba Shared Repository

Reply via email to