diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index b2b0b83a97..5ad2f4ce11 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -2610,6 +2610,8 @@ CheckLDAPAuth(Port *port)
 							filter, server_name, ldap_err2string(r)),
 					 errdetail_for_ldap(ldap)));
 			ldap_unbind(ldap);
+			if (search_message != NULL)
+				ldap_msgfree(search_message);
 			pfree(passwd);
 			pfree(filter);
 			return STATUS_ERROR;
