From 526e875cec15761099438e17df3f56bc2bd5b761 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 8 Aug 2012 15:35:28 -0700 Subject: Check error returns from strupper_m() (in all reasonable places). --- source3/libads/sasl.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'source3/libads/sasl.c') 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); -- cgit