diff options
author | Jeremy Allison <jra@samba.org> | 2012-08-08 15:35:28 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2012-08-09 12:06:54 -0700 |
commit | 526e875cec15761099438e17df3f56bc2bd5b761 (patch) | |
tree | 8ad776c58b3a25b8739b03cdaf330c295bc570b7 /source3/libads/ldap.c | |
parent | e1ec86a49ce1d7c3ebe99fc175ffad70a03c4a0b (diff) | |
download | samba-526e875cec15761099438e17df3f56bc2bd5b761.tar.gz samba-526e875cec15761099438e17df3f56bc2bd5b761.tar.bz2 samba-526e875cec15761099438e17df3f56bc2bd5b761.zip |
Check error returns from strupper_m() (in all reasonable places).
Diffstat (limited to 'source3/libads/ldap.c')
-rw-r--r-- | source3/libads/ldap.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 640a020a8b..fa88244598 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -298,7 +298,11 @@ static bool ads_try_connect(ADS_STRUCT *ads, const char *server, bool gc) ads->config.flags = cldap_reply.server_type; ads->config.ldap_server_name = SMB_STRDUP(cldap_reply.pdc_dns_name); ads->config.realm = SMB_STRDUP(cldap_reply.dns_domain); - strupper_m(ads->config.realm); + if (!strupper_m(ads->config.realm)) { + ret = false; + goto out; + } + ads->config.bind_path = ads_build_dn(ads->config.realm); if (*cldap_reply.server_site) { ads->config.server_site_name = @@ -1945,7 +1949,11 @@ ADS_STATUS ads_add_service_principal_name(ADS_STRUCT *ads, const char *machine_n ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_MEMORY); } - strupper_m(psp1); + if (!strupper_m(psp1)) { + ret = ADS_ERROR(LDAP_NO_MEMORY); + goto out; + } + strlower_m(&psp1[strlen(spn)]); servicePrincipalName[0] = psp1; @@ -1959,7 +1967,11 @@ ADS_STATUS ads_add_service_principal_name(ADS_STRUCT *ads, const char *machine_n ret = ADS_ERROR(LDAP_NO_MEMORY); goto out; } - strupper_m(psp2); + if (!strupper_m(psp2)) { + ret = ADS_ERROR(LDAP_NO_MEMORY); + goto out; + } + strlower_m(&psp2[strlen(spn)]); servicePrincipalName[1] = psp2; |