summaryrefslogtreecommitdiff
path: root/source3/registry
diff options
context:
space:
mode:
Diffstat (limited to 'source3/registry')
-rw-r--r--source3/registry/reg_objects.c4
-rw-r--r--source3/registry/reg_perfcount.c4
-rw-r--r--source3/registry/reg_util.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/source3/registry/reg_objects.c b/source3/registry/reg_objects.c
index aebf0142ee..f759a921d2 100644
--- a/source3/registry/reg_objects.c
+++ b/source3/registry/reg_objects.c
@@ -439,9 +439,9 @@ uint32 regval_dword( REGISTRY_VALUE *val )
char* regval_sz( REGISTRY_VALUE *val )
{
- static pstring data;
+ pstring data;
rpcstr_pull( data, regval_data_p(val), sizeof(data), regval_size(val), 0 );
- return data;
+ return talloc_strdup(talloc_tos(), data);
}
diff --git a/source3/registry/reg_perfcount.c b/source3/registry/reg_perfcount.c
index dec57a5ec7..ce67b68a83 100644
--- a/source3/registry/reg_perfcount.c
+++ b/source3/registry/reg_perfcount.c
@@ -37,7 +37,7 @@ PERF_OBJECT_TYPE *_reg_perfcount_find_obj(PERF_DATA_BLOCK *block, int objind);
static char* counters_directory( const char *dbname )
{
- static pstring fname;
+ pstring fname;
fstring path;
if ( !dbname )
@@ -47,7 +47,7 @@ static char* counters_directory( const char *dbname )
pstrcpy( fname, lock_path( path ) );
- return fname;
+ return talloc_strdup(talloc_tos(), fname);
}
/*********************************************************************
diff --git a/source3/registry/reg_util.c b/source3/registry/reg_util.c
index 75050c1850..703ad7cb57 100644
--- a/source3/registry/reg_util.c
+++ b/source3/registry/reg_util.c
@@ -102,7 +102,7 @@ void normalize_reg_path( pstring keyname )
char* reg_remaining_path( const char *key )
{
- static pstring new_path;
+ pstring new_path;
char *p;
if ( !key || !*key )
@@ -121,7 +121,7 @@ char* reg_remaining_path( const char *key )
else
p++;
- return p;
+ return talloc_strdup(talloc_tos(), p);
}
/**********************************************************************