static pstring removal
authorVolker Lendecke <vl@sernet.de>
Sun, 4 Nov 2007 17:15:37 +0000 (18:15 +0100)
committerVolker Lendecke <vl@sernet.de>
Mon, 5 Nov 2007 02:16:58 +0000 (03:16 +0100)
(This used to be commit 5490e2d77233f594a42cb32eda8215014db544e3)

source3/passdb/passdb.c
source3/passdb/pdb_ldap.c
source3/passdb/pdb_tdb.c
source3/passdb/secrets.c

index 9254aba7153f449fc31877314afdac4a696b8501..e1e5967af37e0433b39ae273bc1f6e8ff251cff8 100644 (file)
@@ -261,7 +261,8 @@ NTSTATUS samu_alloc_rid_unix(struct samu *user, const struct passwd *pwd)
 
 char *pdb_encode_acct_ctrl(uint32 acct_ctrl, size_t length)
 {
-       static fstring acct_str;
+       fstring acct_str;
+       char *result;
 
        size_t i = 0;
 
@@ -288,7 +289,9 @@ char *pdb_encode_acct_ctrl(uint32 acct_ctrl, size_t length)
        acct_str[i++] = ']';
        acct_str[i++] = '\0';
 
-       return acct_str;
+       result = talloc_strdup(talloc_tos(), acct_str);
+       SMB_ASSERT(result != NULL);
+       return result;
 }     
 
 /**********************************************************
index 53bca864d87c9e1f5c42e46a8d7bece2c1a11657..0c60e3f63fcea4534e1f78d1c850c16b458c7785 100644 (file)
@@ -159,7 +159,8 @@ static const char** get_userattr_delete_list( TALLOC_CTX *mem_ctx,
 
 static const char* get_objclass_filter( int schema_ver )
 {
-       static fstring objclass_filter;
+       fstring objclass_filter;
+       char *result;
        
        switch( schema_ver ) {
                case SCHEMAVER_SAMBAACCOUNT:
@@ -170,10 +171,13 @@ static const char* get_objclass_filter( int schema_ver )
                        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;
 }
 
 /*****************************************************************
index 79427a587cd0587d740644f89df85f20ec865e3d..099b443072ce155cf54c780bcae68dba3c99f919 100644 (file)
@@ -55,7 +55,7 @@ static bool pwent_initialized;
 
 static TDB_CONTEXT *tdbsam;
 static int ref_count = 0;
-static pstring tdbsam_filename;
+static char *tdbsam_filename;
 
 /**********************************************************************
  Marshall/unmarshall struct samu structs.
@@ -1609,7 +1609,7 @@ static NTSTATUS pdb_init_tdbsam(struct pdb_methods **pdb_method, const char *loc
                pstr_sprintf( tdbfile, "%s/%s", dyn_STATEDIR(), PASSDB_FILE_NAME );
                pfile = tdbfile;
        }
-       pstrcpy( tdbsam_filename, pfile );
+       tdbsam_filename = SMB_STRDUP(pfile);
 
        /* no private data */
        
index 512c3de9f01d9e69821de579aa157c444440fb7c..a7221df6df117287eeca6b4e75faa02fe8ed1df7 100644 (file)
@@ -209,10 +209,12 @@ bool secrets_fetch_domain_guid(const char *domain, struct GUID *guid)
  **/
 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;
@@ -227,9 +229,11 @@ static const char *trust_keystr(const char *domain)
  **/
 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;