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/ldap.c | |
parent | ce21d0804012da27cec72abe896352d7f0e7e1e5 (diff) | |
download | samba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.gz samba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.bz2 samba-b70f23c2b581c5d455362ab37f4846de9a910055.zip |
Correctly check for errors in strlower_m() returns.
Diffstat (limited to 'source3/libads/ldap.c')
-rw-r--r-- | source3/libads/ldap.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index fa88244598..946c1a36a7 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -1954,7 +1954,10 @@ ADS_STATUS ads_add_service_principal_name(ADS_STRUCT *ads, const char *machine_n goto out; } - strlower_m(&psp1[strlen(spn)]); + if (!strlower_m(&psp1[strlen(spn)])) { + ret = ADS_ERROR(LDAP_NO_MEMORY); + goto out; + } servicePrincipalName[0] = psp1; DEBUG(5,("ads_add_service_principal_name: INFO: Adding %s to host %s\n", @@ -1972,7 +1975,10 @@ ADS_STATUS ads_add_service_principal_name(ADS_STRUCT *ads, const char *machine_n goto out; } - strlower_m(&psp2[strlen(spn)]); + if (!strlower_m(&psp2[strlen(spn)])) { + ret = ADS_ERROR(LDAP_NO_MEMORY); + goto out; + } servicePrincipalName[1] = psp2; DEBUG(5,("ads_add_service_principal_name: INFO: Adding %s to host %s\n", @@ -3468,7 +3474,10 @@ ADS_STATUS ads_leave_realm(ADS_STRUCT *ads, const char *hostname) /* hostname must be lowercase */ host = SMB_STRDUP(hostname); - strlower_m(host); + if (!strlower_m(host)) { + SAFE_FREE(host); + return ADS_ERROR_SYSTEM(EINVAL); + } status = ads_find_machine_acct(ads, &res, host); if (!ADS_ERR_OK(status)) { |