diff options
Diffstat (limited to 'plugins/AssocMgr/src/reg.cpp')
| -rw-r--r-- | plugins/AssocMgr/src/reg.cpp | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/AssocMgr/src/reg.cpp b/plugins/AssocMgr/src/reg.cpp index 79d710ff7c..55eed01b2f 100644 --- a/plugins/AssocMgr/src/reg.cpp +++ b/plugins/AssocMgr/src/reg.cpp @@ -435,14 +435,15 @@ static void BackupRegTree_Worker(HKEY hKey,const char *pszSubKey,struct BackupRe  static void BackupRegTree(HKEY hKey, const char *pszSubKey, const char *pszDbPrefix)
  {
 +	char *prefix = mir_strdup(pszDbPrefix);
  	struct BackupRegTreeParam param;
  	DWORD dwDbPrefixSize;
  	param.level = 0;
  	param.pdwDbPrefixSize = &dwDbPrefixSize;
 -	param.ppszDbPrefix = (char**)&pszDbPrefix;
 -	pszDbPrefix = NEWSTR_ALLOCA(pszDbPrefix);
 -	dwDbPrefixSize = (int)mir_strlen(pszDbPrefix)+1;
 +	param.ppszDbPrefix = (char**)&prefix;
 +	dwDbPrefixSize = (int)mir_strlen(prefix) + 1;
  	BackupRegTree_Worker(hKey, pszSubKey, ¶m);
 +	mir_free(prefix);
  }
  static LONG RestoreRegTree(HKEY hKey,const char *pszSubKey,const char *pszDbPrefix)
  | 
