mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-02-03 14:01:57 +02:00
PGPRO-421: Use strdup() call
This commit is contained in:
parent
d48d4e8abe
commit
5509a4bbe1
@ -469,11 +469,8 @@ pgBackupCreateDir(pgBackup *backup)
|
||||
int i;
|
||||
char path[MAXPGPATH];
|
||||
parray *subdirs = parray_new();
|
||||
char *temp;
|
||||
|
||||
temp = palloc(strlen(DATABASE_DIR) + 1);
|
||||
sprintf(temp, "%s", DATABASE_DIR);
|
||||
parray_append(subdirs, temp);
|
||||
parray_append(subdirs, pg_strdup(DATABASE_DIR));
|
||||
|
||||
/* Add external dirs containers */
|
||||
if (backup->external_dir_str)
|
||||
@ -483,11 +480,10 @@ pgBackupCreateDir(pgBackup *backup)
|
||||
external_list = make_external_directory_list(backup->external_dir_str);
|
||||
for (int i = 0; i < parray_num(external_list); i++)
|
||||
{
|
||||
/* 20 chars is enough to hold the externaldir number in string. */
|
||||
temp = palloc0(strlen(EXTERNAL_DIR) + 20);
|
||||
char temp[MAXPGPATH];
|
||||
/* Numeration of externaldirs starts with 1 */
|
||||
makeExternalDirPathByNum(temp, EXTERNAL_DIR, i+1);
|
||||
parray_append(subdirs, temp);
|
||||
parray_append(subdirs, pg_strdup(temp));
|
||||
}
|
||||
free_dir_list(external_list);
|
||||
}
|
||||
|
13
src/dir.c
13
src/dir.c
@ -1302,7 +1302,7 @@ check_external_dir_mapping(pgBackup *backup)
|
||||
"backup: \"%s\"", external_remap_list.head->old_dir);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
external_dirs_to_restore = make_external_directory_list(backup->external_dir_str);
|
||||
for (cell = external_remap_list.head; cell; cell = cell->next)
|
||||
{
|
||||
@ -1688,18 +1688,15 @@ make_external_directory_list(const char *colon_separated_dirs)
|
||||
{
|
||||
char *p;
|
||||
parray *list = parray_new();
|
||||
char *tmp = palloc0(strlen(colon_separated_dirs) + 1);
|
||||
char *tmp = pg_strdup(colon_separated_dirs);
|
||||
|
||||
strcpy(tmp, colon_separated_dirs);
|
||||
p = strtok(tmp,":");
|
||||
while(p!=NULL)
|
||||
{
|
||||
char * dir = (char *)palloc0(strlen(p) + 1);
|
||||
strcpy(dir,p);
|
||||
if (is_absolute_path(dir))
|
||||
parray_append(list, dir);
|
||||
if (is_absolute_path(p))
|
||||
parray_append(list, pg_strdup(p));
|
||||
else
|
||||
elog(ERROR, "Extra directory \"%s\" is not an absolute path", dir);
|
||||
elog(ERROR, "External directory \"%s\" is not an absolute path", p);
|
||||
p=strtok(NULL,":");
|
||||
}
|
||||
pfree(tmp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user