summaryrefslogtreecommitdiff
path: root/source3/libads/sasl.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2012-08-08 17:01:00 -0700
committerJeremy Allison <jra@samba.org>2012-08-09 12:08:18 -0700
commitb70f23c2b581c5d455362ab37f4846de9a910055 (patch)
treecf95e8d35a03d1e39d5926d2e03d7046d42cae64 /source3/libads/sasl.c
parentce21d0804012da27cec72abe896352d7f0e7e1e5 (diff)
downloadsamba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.gz
samba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.bz2
samba-b70f23c2b581c5d455362ab37f4846de9a910055.zip
Correctly check for errors in strlower_m() returns.
Diffstat (limited to 'source3/libads/sasl.c')
-rw-r--r--source3/libads/sasl.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source3/libads/sasl.c b/source3/libads/sasl.c
index a04ac9dd69..438db05df8 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);