Blob Blame History Raw
diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c
index d5e666b..a7b315e 100644
--- a/modules/lookup_ldap.c
+++ b/modules/lookup_ldap.c
@@ -1500,7 +1500,7 @@ static int lookup_one(struct autofs_point *ap,
 		*qKey = '/';
 
 	/* Build a query string. */
-	l = strlen(class) + 2*strlen(entry) + strlen(qKey) + 29;
+	l = strlen(class) + 3*strlen(entry) + strlen(qKey) + 35;
 
 	query = alloca(l);
 	if (query == NULL) {
@@ -1514,7 +1514,7 @@ static int lookup_one(struct autofs_point *ap,
 	 * whose entry is equal to qKey.
 	 */
 	ql = sprintf(query,
-	      "(&(objectclass=%s)(|(%s=%s)(%s=/)))", class, entry, qKey, entry);
+	      "(&(objectclass=%s)(|(%s=%s)(%s=/)(%s=\\2A)))", class, entry, qKey, entry, entry);
 	if (ql >= l) {
 		error(ap->logopt,
 		      MODPREFIX "error forming query string");