Running the current ldapd regression tests result in the following (repeated)
errors in my /var/log/messages:
... ldapd: vfprintf %s NULL in "current bind dn = %s "
This is because regress/usr.sbin/ldapd/run-tests.pl is performing
unnecessary unbinds in END { }.
Though the regression test should probably be fixed, the following diff
ensures that log_debug is not called with a NULL argument.
Does this make sense?
Index: ldape.c
===================================================================
RCS file: /cvs/src/usr.sbin/ldapd/ldape.c,v
retrieving revision 1.27
diff -u -p -r1.27 ldape.c
--- ldape.c 15 May 2018 11:19:21 -0000 1.27
+++ ldape.c 3 Jul 2018 23:32:27 -0000
@@ -229,7 +229,8 @@ ldap_abandon(struct request *req)
int
ldap_unbind(struct request *req)
{
- log_debug("current bind dn = %s", req->conn->binddn);
+ log_debug("current bind dn = %s",
+ req->conn->binddn == NULL ? "" : req->conn->binddn);
conn_disconnect(req->conn);
request_free(req);
return -1; /* don't send any response */