diff options
author | Jeremy Allison <jra@samba.org> | 2012-08-08 17:01:00 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2012-08-09 12:08:18 -0700 |
commit | b70f23c2b581c5d455362ab37f4846de9a910055 (patch) | |
tree | cf95e8d35a03d1e39d5926d2e03d7046d42cae64 /source3/libads/sasl.c | |
parent | ce21d0804012da27cec72abe896352d7f0e7e1e5 (diff) | |
download | samba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.gz |
Correctly check for errors in strlower_m() returns.
Diffstat (limited to 'source3/libads/sasl.c')
-rw-r--r-- | source3/libads/sasl.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source3/libads/sasl.c b/source3/libads/sasl.c index a04ac9dd691..438db05df89 100644 --- a/source3/libads/sasl.c +++ b/source3/libads/sasl.c @@ -652,7 +652,12 @@ static ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads, return ADS_ERROR(LDAP_NO_MEMORY); } - strlower_m(server); + if (!strlower_m(server)) { + SAFE_FREE(server); + SAFE_FREE(server_realm); + return ADS_ERROR(LDAP_NO_MEMORY); + } + if (!strupper_m(server_realm)) { SAFE_FREE(server); SAFE_FREE(server_realm); @@ -683,7 +688,12 @@ static ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads, return ADS_ERROR(LDAP_NO_MEMORY); } - strlower_m(server); + if (!strlower_m(server)) { + SAFE_FREE(server); + SAFE_FREE(server_realm); + return ADS_ERROR(LDAP_NO_MEMORY); + } + if (!strupper_m(server_realm)) { SAFE_FREE(server); SAFE_FREE(server_realm); |