summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-03-09 11:49:12 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-03-09 15:09:11 -0500
commit2141ddce2158f4317a6adbcc79139e3772868a4b (patch)
tree47d983f9146df6d2eaa1182dae1a9894bd4e11e7
parent57c4f6c0974d4d0441efad4c2687b4e6f1c2190c (diff)
downloadsssd-2141ddce2158f4317a6adbcc79139e3772868a4b.tar.gz
sssd-2141ddce2158f4317a6adbcc79139e3772868a4b.tar.xz
sssd-2141ddce2158f4317a6adbcc79139e3772868a4b.zip
Handle empty elements in proxy netgroups:
-rw-r--r--src/providers/proxy/proxy_netgroup.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/providers/proxy/proxy_netgroup.c b/src/providers/proxy/proxy_netgroup.c
index 0c8f5c660..afc57ecbe 100644
--- a/src/providers/proxy/proxy_netgroup.c
+++ b/src/providers/proxy/proxy_netgroup.c
@@ -28,6 +28,8 @@
#define BUFLEN 1024
+#define get_triple_el(s) ((s) ? (s) : "")
+
static errno_t make_netgroup_attr(struct __netgrent netgrent,
struct sysdb_attrs *attrs)
{
@@ -42,9 +44,10 @@ static errno_t make_netgroup_attr(struct __netgrent netgrent,
return ret;
}
} else if (netgrent.type == triple_val) {
- dummy = talloc_asprintf(attrs, "(%s,%s,%s)", netgrent.val.triple.host,
- netgrent.val.triple.user,
- netgrent.val.triple.domain);
+ dummy = talloc_asprintf(attrs, "(%s,%s,%s)",
+ get_triple_el(netgrent.val.triple.host),
+ get_triple_el(netgrent.val.triple.user),
+ get_triple_el(netgrent.val.triple.domain));
if (dummy == NULL) {
DEBUG(1, ("talloc_asprintf failed.\n"));
return ENOMEM;