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/sasl.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/sasl.c')
-rw-r--r-- | source3/libads/sasl.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source3/libads/sasl.c b/source3/libads/sasl.c index ee3a693f71..a04ac9dd69 100644 --- a/source3/libads/sasl.c +++ b/source3/libads/sasl.c @@ -653,7 +653,12 @@ static ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads, } strlower_m(server); - strupper_m(server_realm); + if (!strupper_m(server_realm)) { + SAFE_FREE(server); + SAFE_FREE(server_realm); + return ADS_ERROR(LDAP_NO_MEMORY); + } + if (asprintf(&princ, "ldap/%s@%s", server, server_realm) == -1) { SAFE_FREE(server); SAFE_FREE(server_realm); @@ -679,7 +684,11 @@ static ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads, } strlower_m(server); - strupper_m(server_realm); + if (!strupper_m(server_realm)) { + SAFE_FREE(server); + SAFE_FREE(server_realm); + return ADS_ERROR(LDAP_NO_MEMORY); + } if (asprintf(&princ, "ldap/%s@%s", server, server_realm) == -1) { SAFE_FREE(server); SAFE_FREE(server_realm); |