subkeyname = GUID_string2(mem_ctx, &entry->guid);
W_ERROR_HAVE_NO_MEMORY(subkeyname);
- strupper_m(discard_const_p(char, subkeyname));
+ if (!strupper_m(discard_const_p(char, subkeyname))) {
+ return WERR_INVALID_PARAM;
+ }
werr = gp_store_reg_subkey(mem_ctx,
subkeyname,
fstrcpy(user, user_info->client.account_name);
if (strnequal("NT_STATUS", user, strlen("NT_STATUS"))) {
- strupper_m(user);
+ if (!strupper_m(user)) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
return nt_status_string_to_code(user);
}
if (!tmpbuf) {
smb_panic("malloc fail");
}
- strupper_m(tmpbuf);
+ if (!strupper_m(tmpbuf)) {
+ SAFE_FREE(tmpbuf);
+ return (size_t)-1;
+ }
src = tmpbuf;
}
}
/* Try as uppercase, if username wasn't originally uppercase */
- strupper_m(user2);
+ if (!strupper_m(user2)) {
+ goto done;
+ }
+
if(strcmp(user, user2) != 0) {
DEBUG(5,("Trying _Get_Pwnam(), username as uppercase is %s\n",
user2));
smb_my_netbios_names[i] = SMB_STRDUP(name);
if (!smb_my_netbios_names[i])
return False;
- strupper_m(smb_my_netbios_names[i]);
- return True;
+ return strupper_m(smb_my_netbios_names[i]);
}
/***********************************************************************
void strnorm(char *s, int case_default)
{
if (case_default == CASE_UPPER)
- strupper_m(s);
+ (void)strupper_m(s); /* FIXME - return a bool here. */
else
strlower_m(s);
}
/* Catch mb conversion errors that may not terminate. */
if (errno) {
s[len-1] = '\0';
- ret = false;
}
errno = errno_save;
return ret;
if (ret == -1)
return -1;
- strupper_m(result);
+ if (!strupper_m(result)) {
+ SAFE_FREE(result);
+ return -1;
+ }
+
*strp = result;
return ret;
}
if (ret == NULL) {
return NULL;
}
- strupper_m(ret);
+ if (!strupper_m(ret)) {
+ TALLOC_FREE(ret);
+ return NULL;
+ }
return ret;
}
fname, realm, domain ));
realm_upper = talloc_strdup(fname, realm);
- strupper_m(realm_upper);
+ if (!strupper_m(realm_upper)) {
+ goto done;
+ }
kdc_ip_string = get_kdc_ip_string(dname, realm, sitename, pss, kdc_name);
if (!kdc_ip_string) {
/* upper case the sAMAccountName to make it easier for apps to
know what case to use in the keytab file */
- strupper_m(sam_account_name);
+ if (!strupper_m(sam_account_name)) {
+ ret = -1;
+ goto done;
+ }
ret = ads_keytab_add_entry(ads, sam_account_name);
if (ret != 0) {
ads->config.flags = cldap_reply.server_type;
ads->config.ldap_server_name = SMB_STRDUP(cldap_reply.pdc_dns_name);
ads->config.realm = SMB_STRDUP(cldap_reply.dns_domain);
- strupper_m(ads->config.realm);
+ if (!strupper_m(ads->config.realm)) {
+ ret = false;
+ goto out;
+ }
+
ads->config.bind_path = ads_build_dn(ads->config.realm);
if (*cldap_reply.server_site) {
ads->config.server_site_name =
ads_msgfree(ads, res);
return ADS_ERROR(LDAP_NO_MEMORY);
}
- strupper_m(psp1);
+ if (!strupper_m(psp1)) {
+ ret = ADS_ERROR(LDAP_NO_MEMORY);
+ goto out;
+ }
+
strlower_m(&psp1[strlen(spn)]);
servicePrincipalName[0] = psp1;
ret = ADS_ERROR(LDAP_NO_MEMORY);
goto out;
}
- strupper_m(psp2);
+ if (!strupper_m(psp2)) {
+ ret = ADS_ERROR(LDAP_NO_MEMORY);
+ goto out;
+ }
+
strlower_m(&psp2[strlen(spn)]);
servicePrincipalName[1] = psp2;
}
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);
}
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);
*cp++ = '\0';
SAFE_FREE(my_ads->auth.realm);
my_ads->auth.realm = smb_xstrdup(cp);
- strupper_m(my_ads->auth.realm);
+ if (!strupper_m(my_ads->auth.realm)) {
+ ads_destroy(&my_ads);
+ return ADS_ERROR_LDAP(LDAP_NO_MEMORY);
+ }
}
}
if (!spn) {
return ADS_ERROR_LDAP(LDAP_NO_MEMORY);
}
- strupper_m(spn);
+ if (!strupper_m(spn)) {
+ return ADS_ERROR_LDAP(LDAP_NO_MEMORY);
+ }
spn_array[0] = spn;
if (!name_to_fqdn(my_fqdn, r->in.machine_name)
(p=strchr_m(user2,*lp_winbind_separator()))) {
*p = 0;
user = p+1;
- strupper_m(user2);
+ if (!strupper_m(user2)) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
workgroup = user2;
}
SSVAL(p,0,1);
p += 2;
strlcpy(p,user,sizeof(param)-PTR_DIFF(p,param));
- strupper_m(p);
+ if (!strupper_m(p)) {
+ return false;
+ }
p += 21;
p++;
p += 15;
p++;
strlcpy(p, workstation,sizeof(param)-PTR_DIFF(p,param));
- strupper_m(p);
+ if (!strupper_m(p)) {
+ return false;
+ }
p += 16;
SSVAL(p, 0, CLI_BUFFER_SIZE);
p += 2;
PUTDWORD(p, 0); /* Null pointer */
PUTDWORD(p, 0); /* Null pointer */
strlcpy(upperbuf, user, sizeof(upperbuf));
- strupper_m(upperbuf);
+ if (!strupper_m(upperbuf)) {
+ return false;
+ }
tmp = upperbuf;
PUTSTRINGF(p, tmp, RAP_USERNAME_LEN);
p++; /* strange format, but ok */
strlcpy(upperbuf, workstation, sizeof(upperbuf));
- strupper_m(upperbuf);
+ if (!strupper_m(upperbuf)) {
+ return false;
+ }
tmp = upperbuf;
PUTSTRINGF(p, tmp, RAP_MACHNAME_LEN);
PUTWORD(p, CLI_BUFFER_SIZE);
SAFE_FREE(sitename);
fstrcpy(srv_name, ads->config.ldap_server_name);
- strupper_m(srv_name);
+ if (!strupper_m(srv_name)) {
+ ads_destroy(&ads);
+ return false;
+ }
#ifdef HAVE_ADS
*dc_ss = ads->ldap.ss;
#else
fstring unix_name;
memset( (char *)n, '\0', sizeof(struct nmb_name) );
fstrcpy(unix_name, name);
- strupper_m(unix_name);
+ (void)strupper_m(unix_name);
push_ascii(n->name, unix_name, sizeof(n->name), STR_TERMINATE);
n->name_type = (unsigned int)type & 0xFF;
push_ascii(n->scope, lp_netbios_scope(), 64, STR_TERMINATE);
nstring buf_dos;
pull_ascii_fstring(buf_unix, In);
- strupper_m(buf_unix);
+ if (!strupper_m(buf_unix)) {
+ return NULL;
+ }
push_ascii_nstring(buf_dos, buf_unix);
put_name(buf, buf_dos, ' ', name_type);
}
} else {
/* Normalize the stream type to upercase. */
- strupper_m(strrchr_m(stream_fname, ':') + 1);
+ if (!strupper_m(strrchr_m(stream_fname, ':') + 1)) {
+ status = NT_STATUS_INVALID_PARAMETER;
+ goto fail;
+ }
}
DEBUG(10, ("stream filename = %s\n", stream_fname));
}
} else {
/* Normalize the stream type to upercase. */
- strupper_m(strrchr_m(*xattr_name, ':') + 1);
+ if (!strupper_m(strrchr_m(*xattr_name, ':') + 1)) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
}
DEBUG(10, ("xattr_name: %s, stream_name: %s\n", *xattr_name,
unstrcpy( browc->lmb_name, browser_name);
unstrcpy( browc->work_group, work_name);
- strupper_m( browc->lmb_name );
- strupper_m( browc->work_group );
+ if (!strupper_m( browc->lmb_name )) {
+ SAFE_FREE(browc);
+ return NULL;
+ }
+ if (!strupper_m( browc->work_group )) {
+ SAFE_FREE(browc);
+ return NULL;
+ }
browc->ip = ip;
p++;
unstrcpy(myname, lp_netbios_name());
- strupper_m(myname);
+ if (!strupper_m(myname)) {
+ DEBUG(2,("strupper_m %s failed\n", myname));
+ return;
+ }
myname[15]='\0';
/* The call below does CH_UNIX -> CH_DOS conversion. JRA */
push_ascii(p, myname, sizeof(outbuf)-PTR_DIFF(p,outbuf)-1, STR_TERMINATE);
SIVAL(p,5,timeup*1000); /* ms - Despite what the spec says. */
p += 13;
unstrcpy(srv_name, server_name);
- strupper_m(srv_name);
+ if (!strupper_m(srv_name)) {
+ DEBUG(2,("strupper_m failed for %s\n", srv_name));
+ return;
+ }
/* The following call does UNIX -> DOS charset conversion. */
push_ascii(p, srv_name, sizeof(outbuf)-PTR_DIFF(p,outbuf)-1, STR_TERMINATE);
p = skip_string(outbuf,sizeof(outbuf),p);
/* We always return at least one name - our own. */
count = 1;
unstrcpy(myname, lp_netbios_name());
- strupper_m(myname);
+ if (!strupper_m(myname)) {
+ DEBUG(4,("strupper_m %s failed\n", myname));
+ return;
+ }
myname[15]='\0';
push_ascii(p, myname, sizeof(outbuf)-PTR_DIFF(p,outbuf)-1, STR_TERMINATE);
unstring name;
pull_ascii_nstring(name, sizeof(name), namerec->name.name);
- strupper_m(name);
+ if (!strupper_m(name)) {
+ DEBUG(2,("strupper_m %s failed\n", name));
+ return;
+ }
if (!strequal(name,"*") &&
!strequal(name,"__SAMBA__") &&
(name_type < 0x1b || name_type >= 0x20 ||
Convert a NetBIOS name to upper case.
***************************************************************************/
-static void upcase_name( struct nmb_name *target, const struct nmb_name *source )
+static bool upcase_name( struct nmb_name *target, const struct nmb_name *source )
{
int i;
unstring targ;
}
pull_ascii_nstring(targ, sizeof(targ), target->name);
- strupper_m( targ );
+ if (!strupper_m( targ )) {
+ return false;
+ }
push_ascii_nstring( target->name, targ);
pull_ascii(scope, target->scope, 64, -1, STR_TERMINATE);
- strupper_m( scope );
+ if (!strupper_m( scope )) {
+ return false;
+ }
push_ascii(target->scope, scope, 64, STR_TERMINATE);
/* fudge... We're using a byte-by-byte compare, so we must be sure that
for( i = strlen( target->scope ); i < sizeof( target->scope ); i++ ) {
target->scope[i] = '\0';
}
+ return true;
}
/**************************************************************************
struct nmb_name uc_name;
struct name_record *name_ret;
- upcase_name( &uc_name, nmbname );
+ if (!upcase_name( &uc_name, nmbname )) {
+ return NULL;
+ }
if (subrec == wins_server_subnet) {
return find_name_on_wins_subnet(&uc_name, self_only);
namerec->subnet = subrec;
make_nmb_name(&namerec->name, name, type);
- upcase_name(&namerec->name, NULL );
+ if (!upcase_name(&namerec->name, NULL )) {
+ SAFE_FREE(namerec->data.ip);
+ SAFE_FREE(namerec);
+ return False;
+ }
/* Enter the name as active. */
namerec->data.nb_flags = nb_flags | NB_ACTIVE;
SIVAL(p,1,announce_interval*1000); /* Milliseconds - despite the spec. */
strlcpy(upper_server_name, server_name ? server_name : "", sizeof(upper_server_name));
- strupper_m(upper_server_name);
+ if (!strupper_m(upper_server_name)) {
+ DEBUG(2,("strupper_m %s failed\n", upper_server_name));
+ return;
+ }
push_string_check(p+5, upper_server_name, 16, STR_ASCII|STR_TERMINATE);
SCVAL(p,21,SAMBA_MAJOR_NBT_ANNOUNCE_VERSION); /* Major version. */
p++;
unstrcpy(myname, lp_netbios_name());
- strupper_m(myname);
+ if (!strupper_m(myname)) {
+ DEBUG(2,("strupper_m %s failed\n", myname));
+ return;
+ }
myname[15]='\0';
push_ascii(p, myname, sizeof(outbuf)-PTR_DIFF(p,outbuf)-1, STR_TERMINATE);
fstrcpy(servrec->serv.name,name);
fstrcpy(servrec->serv.comment,comment);
- strupper_m(servrec->serv.name);
+ if (!strupper_m(servrec->serv.name)) {
+ DEBUG(2,("strupper_m %s failed\n", servrec->serv.name));
+ SAFE_FREE(servrec);
+ return NULL;
+ }
servrec->serv.type = servertype;
update_server_ttl(servrec, ttl);
memset(keydata, '\0', sizeof(keydata));
pull_ascii_nstring(keydata, sizeof(unstring), nmbname->name);
- strupper_m(keydata);
+ (void)strupper_m(keydata);
keydata[sizeof(unstring)] = nmbname->name_type;
key.dptr = (uint8 *)keydata;
key.dsize = sizeof(keydata);
TALLOC_FREE(tmp_ctx);
return false;
}
- strupper_m(tmp_dom);
+ if (!strupper_m(tmp_dom)) {
+ TALLOC_FREE(tmp_ctx);
+ return false;
+ }
*ret_domain = tmp_dom;
}
#endif
slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_GUID, domain);
- strupper_m(key);
+ if (!strupper_m(key)) {
+ return false;
+ }
return secrets_store(key, guid, sizeof(struct GUID));
}
struct GUID new_guid;
slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_GUID, domain);
- strupper_m(key);
+ if (!strupper_m(key)) {
+ return false;
+ }
dyn_guid = (struct GUID *)secrets_fetch(key, &size);
if (!dyn_guid) {
};
bool success = false;
char *path = talloc_asprintf(talloc_tos(), "%s\\%s", key, subkey);
- strupper_m(path);
+ if (!strupper_m(path)) {
+ goto done;
+ }
if (!dbwrap_exists(db, string_term_tdb_data(path))) {
NTSTATUS status;
p = strrchr(nkeyname, '\\');
}
- strupper_m(nkeyname);
+ if (!strupper_m(nkeyname)) {
+ TALLOC_FREE(nkeyname);
+ return NULL;
+ }
return nkeyname;
}
SIVAL(p,0,PTR_DIFF(p2,*rdata)); /* host name */
strlcpy(p2,get_local_machine_name(),PTR_DIFF(endp,p2));
- strupper_m(p2);
+ if (!strupper_m(p2)) {
+ return false;
+ }
p2 = skip_string(*rdata,*rdata_len,p2);
if (!p2) {
return False;
SIVAL(p,0,PTR_DIFF(p2,*rdata)); /* login domain */
strlcpy(p2,lp_workgroup(),PTR_DIFF(endp,p2));
- strupper_m(p2);
+ if (!strupper_m(p2)) {
+ return false;
+ }
p2 = skip_string(*rdata,*rdata_len,p2);
if (!p2) {
return False;
fstring mypath;
fstrcpy(mypath,"\\\\");
fstrcat(mypath,get_local_machine_name());
- strupper_m(mypath);
+ if (!strupper_m(mypath)) {
+ return false;
+ }
PACKS(&desc,"z",mypath); /* computer */
}
strncpy(buf, info2->printername, sizeof(buf)-1);
buf[sizeof(buf)-1] = 0;
- strupper_m(buf);
+ (void)strupper_m(buf);
if (uLevel <= 1) {
PACKS(desc,"B9",buf); /* szName */
} else
csum = str_checksum(s);
- strupper_m( s );
+ if (!strupper_m( s )) {
+ SAFE_FREE(s);
+ return false;
+ }
if( p ) {
if( p == s )
length = MIN(length,sizeof(fstring)-1);
strncpy(str, key, length);
str[length] = 0;
- strupper_m(str);
+ (void)strupper_m(str);
/* the length of a multi-byte string can change after a strupper_m */
length = strlen(str);
}
}
- strupper_m(dev);
+ if (!strupper_m(dev)) {
+ DEBUG(2,("strupper_m %s failed\n", dev));
+ return NT_STATUS_INVALID_PARAMETER;
+ }
if (lp_print_ok(snum)) {
if (!strequal(dev, "LPT1:")) {
/*
* upper-case the type field
*/
- strupper_m(strchr_m(stream, ':')+1);
+ (void)strupper_m(strchr_m(stream, ':')+1);
}
done:
*cp++ = '\0';
SAFE_FREE(ads->auth.realm);
ads->auth.realm = smb_xstrdup(cp);
- strupper_m(ads->auth.realm);
+ if (!strupper_m(ads->auth.realm)) {
+ ads_destroy(&ads);
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
}
status = ads_connect(ads);
goto done;
}
- strupper_m(ads_dns->auth.realm);
+ if (!strupper_m(ads_dns->auth.realm)) {
+ d_fprintf(stderr, _("strupper_m %s failed\n"), ads_dns->auth.realm);
+ goto done;
+ }
ret = ads_kinit_password(ads_dns);
if (ret != 0) {
if (r < 0) return false;
- strupper_m(tmp); /* make sure the key is case insensitive */
+ /* make sure the key is case insensitive */
+ if (!strupper_m(tmp)) {
+ free(tmp);
+ return false;
+ }
ret = secrets_store_generic(tmp, identity, secret);
free(tmp);
static bool is_all_upper(const char *str) {
bool ret;
char *tmp = talloc_strdup(talloc_tos(), str);
- strupper_m(tmp);
+ if (!strupper_m(tmp)) {
+ talloc_free(tmp);
+ return false;
+ }
ret = (strcmp(tmp, str) == 0);
talloc_free(tmp);
return ret;
}
*optr = '\0';
- strupper_m(path);
+ if (!strupper_m(path)) {
+ talloc_free(discard_const(orig));
+ return false;
+ }
changed = (strcmp(orig, path) != 0);
talloc_free(discard_const(orig));
return changed;
} else {
*p++ = '\0';
fstrcpy(domain, users[i]);
- strupper_m(domain);
+ if (!strupper_m(domain)) {
+ DEBUG(1, ("strupper_m %s failed\n", domain));
+ wbcFreeMemory(users);
+ return false;
+ }
fstrcpy(user, p);
}
return NT_STATUS_NO_MEMORY;
}
- strupper_m(acct_name);
+ if (!strupper_m(acct_name)) {
+ SAFE_FREE(acct_name);
+ return NT_STATUS_INVALID_PARAMETER;
+ }
init_lsa_String(&lsa_acct_name, acct_name);
if (acct_name == NULL)
return NT_STATUS_NO_MEMORY;
- strupper_m(acct_name);
+ if (!strupper_m(acct_name)) {
+ TALLOC_FREE(acct_name);
+ return NT_STATUS_INVALID_PARAMETER;
+ }
/* Get samr policy handle */
status = dcerpc_samr_Connect2(b, mem_ctx,
}
domain_name = smb_xstrdup(argv[0]);
- strupper_m(domain_name);
+ if (!strupper_m(domain_name)) {
+ SAFE_FREE(domain_name);
+ return -1;
+ }
/* account name used at first is our domain's name with '$' */
if (asprintf(&acct_name, "%s$", lp_workgroup()) == -1) {
return -1;
}
- strupper_m(acct_name);
+ if (!strupper_m(acct_name)) {
+ SAFE_FREE(domain_name);
+ SAFE_FREE(acct_name);
+ return -1;
+ }
/*
* opt_workgroup will be used by connection functions further,
/* generate upper cased domain name */
domain_name = smb_xstrdup(argv[0]);
- strupper_m(domain_name);
+ if (!strupper_m(domain_name)) {
+ SAFE_FREE(domain_name);
+ return -1;
+ }
/* delete password of the trust */
if (!pdb_del_trusteddom_pw(domain_name)) {
str[ascii_dom_name_len - 1] = '\0';
/* set opt_* variables to remote domain */
- strupper_m(str);
+ if (!strupper_m(str)) {
+ cli_shutdown(cli);
+ talloc_destroy(mem_ctx);
+ return -1;
+ }
c->opt_workgroup = talloc_strdup(mem_ctx, str);
c->opt_target_workgroup = c->opt_workgroup;
/* Now store the secret in the secrets database */
- strupper_m(discard_const_p(char, domain));
+ if (!strupper_m(discard_const_p(char, domain))) {
+ DEBUG(0, ("strupper_m %s failed\n", domain));
+ goto done;
+ }
if (!secrets_store_domain_sid(domain, domain_sid)) {
DEBUG(0, ("error storing domain sid for %s\n", domain));
fstrcpy(user, p+1);
fstrcpy(domain, domuser);
domain[PTR_DIFF(p, domuser)] = 0;
- strupper_m(domain);
-
- return True;
+ return strupper_m(domain);
}
static bool get_require_membership_sid(void) {
fstring unix_name;
memset( (char *)n, '\0', sizeof(struct nmb_name) );
fstrcpy(unix_name, name);
- strupper_m(unix_name);
+ (void)strupper_m(unix_name);
push_ascii(n->name, unix_name, sizeof(n->name), STR_TERMINATE);
n->name_type = (unsigned int)type & 0xFF;
push_ascii(n->scope, lp_netbios_scope(), 64, STR_TERMINATE);
if (r < 0)
return NULL;
- strupper_m(tmp); /* make sure the key is case insensitive */
+ /* make sure the key is case insensitive */
+ if (!strupper_m(tmp)) {
+ SAFE_FREE(tmp);
+ return NULL;
+ }
+
ret = secrets_fetch_generic(tmp, identity);
SAFE_FREE(tmp);
return NULL;
}
ads->auth.realm = SMB_STRDUP( ads->server.realm );
- strupper_m( ads->auth.realm );
+ if (!strupper_m( ads->auth.realm )) {
+ ads_destroy( &ads );
+ return NULL;
+ }
}
else {
struct winbindd_domain *our_domain = domain;
if ( our_domain->alt_name[0] != '\0' ) {
ads->auth.realm = SMB_STRDUP( our_domain->alt_name );
- strupper_m( ads->auth.realm );
+ if (!strupper_m( ads->auth.realm )) {
+ ads_destroy( &ads );
+ return NULL;
+ }
}
else
ads->auth.realm = SMB_STRDUP( lp_realm() );
centry_put_uint32(centry, type);
centry_put_sid(centry, sid);
fstrcpy(uname, name);
- strupper_m(uname);
+ (void)strupper_m(uname);
centry_end(centry, "NS/%s/%s", domain_name, uname);
DEBUG(10,("wcache_save_name_to_sid: %s\\%s -> %s (%s)\n", domain_name,
uname, sid_string_dbg(sid), nt_errstr(status)));
centry_put_string( centry, alias );
fstrcpy(uname, name);
- strupper_m(uname);
+ (void)strupper_m(uname);
centry_end(centry, "NSS/NA/%s", uname);
DEBUG(10,("wcache_save_username_alias: %s -> %s\n", name, alias ));
centry_put_string( centry, name );
fstrcpy(uname, alias);
- strupper_m(uname);
+ (void)strupper_m(uname);
centry_end(centry, "NSS/AN/%s", uname);
DEBUG(10,("wcache_save_alias_username: %s -> %s\n", alias, name ));
if ( (upper_name = SMB_STRDUP(name)) == NULL )
return NT_STATUS_NO_MEMORY;
- strupper_m(upper_name);
+ if (!strupper_m(upper_name)) {
+ SAFE_FREE(name);
+ return NT_STATUS_INVALID_PARAMETER;
+ }
centry = wcache_fetch(cache, domain, "NSS/NA/%s", upper_name);
if ( (upper_name = SMB_STRDUP(alias)) == NULL )
return NT_STATUS_NO_MEMORY;
- strupper_m(upper_name);
+ if (!strupper_m(upper_name)) {
+ SAFE_FREE(alias);
+ return NT_STATUS_INVALID_PARAMETER;
+ }
centry = wcache_fetch(cache, domain, "NSS/AN/%s", upper_name);
/* Only save the reverse mapping if this was not a UPN */
if (!strchr(name, '@')) {
- strupper_m(discard_const_p(char, domain_name));
+ if (!strupper_m(discard_const_p(char, domain_name))) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
strlower_m(discard_const_p(char, name));
wcache_save_sid_to_name(domain, status, sid, domain_name, name, *type);
}
return NT_STATUS_NO_MEMORY;
}
- strupper_m(*machine_krb5_principal);
+ if (!strupper_m(*machine_krb5_principal)) {
+ SAFE_FREE(machine_krb5_principal);
+ return NT_STATUS_INVALID_PARAMETER;
+ }
}
return NT_STATUS_OK;
parse_domain_user(user, name_domain, name_user);
realm = domain->alt_name;
- strupper_m(realm);
+ if (!strupper_m(realm)) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
principal_s = talloc_asprintf(mem_ctx, "%s@%s", name_user, realm);
if (principal_s == NULL) {
}
realm = domain->alt_name;
- strupper_m(realm);
+ if (!strupper_m(realm)) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
principal_s = talloc_asprintf(state->mem_ctx, "%s@%s", name_user, realm);
if (principal_s == NULL) {
domain[PTR_DIFF(p, domuser)] = 0;
}
- strupper_m(domain);
-
- return True;
+ return strupper_m(domain);
}
bool parse_domain_user_talloc(TALLOC_CTX *mem_ctx, const char *domuser,