summaryrefslogtreecommitdiff
path: root/usr/src/lib/nsswitch/ldap
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/nsswitch/ldap')
-rw-r--r--usr/src/lib/nsswitch/ldap/common/getgrent.c50
-rw-r--r--usr/src/lib/nsswitch/ldap/common/ldap_common.c3
2 files changed, 22 insertions, 31 deletions
diff --git a/usr/src/lib/nsswitch/ldap/common/getgrent.c b/usr/src/lib/nsswitch/ldap/common/getgrent.c
index f20c48a4db..6601f0471b 100644
--- a/usr/src/lib/nsswitch/ldap/common/getgrent.c
+++ b/usr/src/lib/nsswitch/ldap/common/getgrent.c
@@ -121,8 +121,7 @@ _nss_ldap_group2str(ldap_backend_ptr be, nss_XbyY_args_t *argp)
nss_result = NSS_STR_PARSE_PARSE;
goto result_grp2str;
}
- len = snprintf(buffer, buflen, "%s:%s:%s:",
- gname[0], password, gid[0]);
+ len = snprintf(buffer, buflen, "%s:%s:%s:", gname[0], password, gid[0]);
TEST_AND_ADJUST(len, buffer, buflen, result_grp2str);
members = __ns_ldap_getAttrStruct(result->entry, _G_MEM);
@@ -138,12 +137,12 @@ _nss_ldap_group2str(ldap_backend_ptr be, nss_XbyY_args_t *argp)
}
if (firstime) {
len = snprintf(buffer, buflen, "%s",
- members->attrvalue[i]);
+ members->attrvalue[i]);
TEST_AND_ADJUST(len, buffer, buflen, result_grp2str);
firstime = 0;
} else {
len = snprintf(buffer, buflen, ",%s",
- members->attrvalue[i]);
+ members->attrvalue[i]);
TEST_AND_ADJUST(len, buffer, buflen, result_grp2str);
}
}
@@ -173,8 +172,8 @@ getbynam(ldap_backend_ptr be, void *a)
char groupname[SEARCHFILTERLEN];
int ret;
- if (_ldap_filter_name(groupname, argp->key.name, sizeof (groupname))
- != 0)
+ if (_ldap_filter_name(groupname, argp->key.name, sizeof (groupname)) !=
+ 0)
return ((nss_status_t)NSS_NOTFOUND);
ret = snprintf(searchfilter, sizeof (searchfilter),
@@ -187,8 +186,7 @@ getbynam(ldap_backend_ptr be, void *a)
return ((nss_status_t)NSS_NOTFOUND);
return ((nss_status_t)_nss_ldap_lookup(be, argp,
- _GROUP, searchfilter, NULL,
- _merge_SSD_filter, userdata));
+ _GROUP, searchfilter, NULL, _merge_SSD_filter, userdata));
}
@@ -219,8 +217,7 @@ getbygid(ldap_backend_ptr be, void *a)
return ((nss_status_t)NSS_NOTFOUND);
return ((nss_status_t)_nss_ldap_lookup(be, argp,
- _GROUP, searchfilter, NULL,
- _merge_SSD_filter, userdata));
+ _GROUP, searchfilter, NULL, _merge_SSD_filter, userdata));
}
@@ -247,8 +244,6 @@ getbymember(ldap_backend_ptr be, void *a)
int gcnt = (int)0;
char **groupvalue, **membervalue;
nss_status_t lstat;
- nss_XbyY_args_t argb;
- static nss_XbyY_buf_t *gb;
struct nss_groupsbymem *argp = (struct nss_groupsbymem *)a;
char searchfilter[SEARCHFILTERLEN];
char userdata[SEARCHFILTERLEN];
@@ -259,10 +254,6 @@ getbymember(ldap_backend_ptr be, void *a)
gid_t gid;
int ret;
- /* LINTED E_EXPR_NULL_EFFECT */
- NSS_XbyY_ALLOC(&gb, sizeof (struct group), NSS_BUFLEN_GROUP);
- NSS_XbyY_INIT(&argb, gb->result, gb->buffer, gb->buflen, 0);
-
if (strcmp(argp->username, "") == 0 ||
strcmp(argp->username, "root") == 0)
return ((nss_status_t)NSS_NOTFOUND);
@@ -279,9 +270,8 @@ getbymember(ldap_backend_ptr be, void *a)
return ((nss_status_t)NSS_NOTFOUND);
gcnt = (int)argp->numgids;
- lstat = (nss_status_t)_nss_ldap_nocb_lookup(be, &argb,
- _GROUP, searchfilter, NULL,
- _merge_SSD_filter, userdata);
+ lstat = (nss_status_t)_nss_ldap_nocb_lookup(be, NULL,
+ _GROUP, searchfilter, NULL, _merge_SSD_filter, userdata);
if (lstat != (nss_status_t)NS_LDAP_SUCCESS)
return ((nss_status_t)lstat);
if (be->result == NULL)
@@ -295,17 +285,18 @@ getbymember(ldap_backend_ptr be, void *a)
for (j = 0; membervalue[j]; j++) {
if (strcmp(membervalue[j], username) == NULL) {
groupvalue = __ns_ldap_getAttr(curEntry,
- "gidnumber");
+ "gidnumber");
gid = (gid_t)strtol(groupvalue[0],
- (char **)NULL, 10);
+ (char **)NULL, 10);
if (argp->numgids < argp->maxgids) {
- for (k = 0; k < argp->numgids;
- k++) {
- if (argp->gid_array[k] == gid)
+ for (k = 0; k < argp->numgids;
+ k++) {
+ if (argp->gid_array[k]
+ == gid)
/* already exists */
- break;
- }
- if (k == argp->numgids)
+ break;
+ }
+ if (k == argp->numgids)
argp->gid_array[argp->numgids++]
= gid;
}
@@ -317,7 +308,6 @@ getbymember(ldap_backend_ptr be, void *a)
}
(void) __ns_ldap_freeResult((ns_ldap_result_t **)&be->result);
- NSS_XbyY_FREE(&gb);
if (gcnt == argp->numgids)
return ((nss_status_t)NSS_NOTFOUND);
@@ -342,6 +332,6 @@ _nss_ldap_group_constr(const char *dummy1, const char *dummy2,
{
return ((nss_backend_t *)_nss_ldap_constr(gr_ops,
- sizeof (gr_ops)/sizeof (gr_ops[0]), _GROUP, gr_attrs,
- _nss_ldap_group2str));
+ sizeof (gr_ops)/sizeof (gr_ops[0]), _GROUP, gr_attrs,
+ _nss_ldap_group2str));
}
diff --git a/usr/src/lib/nsswitch/ldap/common/ldap_common.c b/usr/src/lib/nsswitch/ldap/common/ldap_common.c
index db6800bba3..46284899c8 100644
--- a/usr/src/lib/nsswitch/ldap/common/ldap_common.c
+++ b/usr/src/lib/nsswitch/ldap/common/ldap_common.c
@@ -257,7 +257,8 @@ _nss_ldap_nocb_lookup(ldap_backend_ptr be, nss_XbyY_args_t *argp,
if ((rc = __ns_ldap_list(database, searchfilter, init_filter_cb,
be->attrs, NULL, 0, &be->result, &error, NULL,
userdata)) != NS_LDAP_SUCCESS) {
- argp->returnval = 0;
+ if (argp != NULL)
+ argp->returnval = 0;
rc = switch_err(rc, error);
(void) __ns_ldap_freeError(&error);
return (rc);