aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/ldap.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-02-16 09:19:59 +0000
committerWerner Koch <[email protected]>2017-02-16 09:33:26 +0000
commitaef60abe6a1772e18634984a94bd70f57d57ccdd (patch)
tree55785b8304265c76edd3a5ad3f6bbab6993b40ba /dirmngr/ldap.c
parentscd: Minor fixes to silence compiler warnings. (diff)
downloadgnupg-aef60abe6a1772e18634984a94bd70f57d57ccdd.tar.gz
gnupg-aef60abe6a1772e18634984a94bd70f57d57ccdd.zip
dirmngr: Replace stpcpy chains by strconcat.
* dirmngr/certcache.c (find_cert_bysn): Use strconcat. (find_cert_bysubject): Ditto. * dirmngr/http.c (store_header): Ditto. * dirmngr/ldap.c (make_url): Ditto. * dirmngr/server.c (get_cert_local_ski): Ditto. (do_get_cert_local): Use xstrconcat. -- Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/ldap.c')
-rw-r--r--dirmngr/ldap.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/dirmngr/ldap.c b/dirmngr/ldap.c
index 20cbbd8fc..a037f5d69 100644
--- a/dirmngr/ldap.c
+++ b/dirmngr/ldap.c
@@ -445,26 +445,16 @@ make_url (char **url, const char *dn, const char *filter)
xfree (u_dn);
return err;
}
- *url = malloc ( 8 + strlen (u_dn)
- + 1 + strlen (attrs)
- + 5 + strlen (u_filter) + 1 );
+
+ *url = strconcat ("ldap:///", u_dn, "?", attrs, "?sub?", u_filter, NULL);
if (!*url)
- {
- err = gpg_error_from_errno (errno);
- xfree (u_dn);
- xfree (u_filter);
- return err;
- }
+ err = gpg_error_from_syserror ();
+ else
+ err = 0;
- stpcpy (stpcpy (stpcpy (stpcpy (stpcpy (stpcpy (*url, "ldap:///"),
- u_dn),
- "?"),
- attrs),
- "?sub?"),
- u_filter);
xfree (u_dn);
xfree (u_filter);
- return 0;
+ return err;
}