char *pdb_encode_acct_ctrl(uint32 acct_ctrl, size_t length)
{
- static fstring acct_str;
+ fstring acct_str;
+ char *result;
size_t i = 0;
acct_str[i++] = ']';
acct_str[i++] = '\0';
- return acct_str;
+ result = talloc_strdup(talloc_tos(), acct_str);
+ SMB_ASSERT(result != NULL);
+ return result;
}
/**********************************************************
static const char* get_objclass_filter( int schema_ver )
{
- static fstring objclass_filter;
+ fstring objclass_filter;
+ char *result;
switch( schema_ver ) {
case SCHEMAVER_SAMBAACCOUNT:
break;
default:
DEBUG(0,("get_objclass_filter: Invalid schema version specified!\n"));
+ objclass_filter[0] = '\0';
break;
}
- return objclass_filter;
+ result = talloc_strdup(talloc_tos(), objclass_filter);
+ SMB_ASSERT(result != NULL);
+ return result;
}
/*****************************************************************
static TDB_CONTEXT *tdbsam;
static int ref_count = 0;
-static pstring tdbsam_filename;
+static char *tdbsam_filename;
/**********************************************************************
Marshall/unmarshall struct samu structs.
pstr_sprintf( tdbfile, "%s/%s", dyn_STATEDIR(), PASSDB_FILE_NAME );
pfile = tdbfile;
}
- pstrcpy( tdbsam_filename, pfile );
+ tdbsam_filename = SMB_STRDUP(pfile);
/* no private data */
**/
static const char *trust_keystr(const char *domain)
{
- static fstring keystr;
+ char *keystr;
+
+ keystr = talloc_asprintf(talloc_tos(), "%s/%s",
+ SECRETS_MACHINE_ACCT_PASS, domain);
+ SMB_ASSERT(keystr != NULL);
- slprintf(keystr,sizeof(keystr)-1,"%s/%s",
- SECRETS_MACHINE_ACCT_PASS, domain);
strupper_m(keystr);
return keystr;
**/
static char *trustdom_keystr(const char *domain)
{
- static pstring keystr;
+ char *keystr;
- pstr_sprintf(keystr, "%s/%s", SECRETS_DOMTRUST_ACCT_PASS, domain);
+ keystr = talloc_asprintf(talloc_tos(), "%s/%s",
+ SECRETS_DOMTRUST_ACCT_PASS, domain);
+ SMB_ASSERT(keystr != NULL);
strupper_m(keystr);
return keystr;