summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2012-09-26 11:00:16 -0400
committerJakub Hrozek <jhrozek@redhat.com>2012-09-26 22:34:40 +0200
commit3f5953b0cd6ad826141c62dd239efc675b351689 (patch)
tree1fb6d9523edcd8d57730a4d609bac12bfcf798ad
parent682702ae60d32f04065d7415e1c948b1a8b15151 (diff)
downloadsssd_unused-3f5953b0cd6ad826141c62dd239efc675b351689.tar.gz
sssd_unused-3f5953b0cd6ad826141c62dd239efc675b351689.tar.xz
sssd_unused-3f5953b0cd6ad826141c62dd239efc675b351689.zip
LDAP: Handle empty namingContexts values safely
Certain LDAP servers can return an empty string as the value of namingContexts. We need to treat these as NULL so that we can fail gracefully. https://fedorahosted.org/sssd/ticket/1542
-rw-r--r--src/providers/ldap/sdap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap.c b/src/providers/ldap/sdap.c
index 5c4a0055..cdc8b1f1 100644
--- a/src/providers/ldap/sdap.c
+++ b/src/providers/ldap/sdap.c
@@ -742,6 +742,14 @@ static char *get_naming_context(TALLOC_CTX *mem_ctx,
}
}
+ /* Some directory servers such as Novell eDirectory will return
+ * a zero-length namingContexts value in some situations. In this
+ * case, we should return it as NULL so things fail gracefully.
+ */
+ if (naming_context[0] == '\0') {
+ talloc_zfree(naming_context);
+ }
+
return naming_context;
}