blob: 012498f7ecd0af4c970dbf9d042d62aabdbc15b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
diff -uNr a/src/third_party/backup/copier.cc b/src/third_party/backup/copier.cc
--- a/src/third_party/backup/copier.cc 2018-07-06 12:43:52.698825122 +0200
+++ b/src/third_party/backup/copier.cc 2018-07-06 12:41:40.066804121 +0200
@@ -107,10 +107,12 @@
int r = 0;
char *fname = 0;
size_t n_known = 0;
+ char *dupname;
{
with_mutex_locked tm(&m_todo_mutex, BACKTRACE(NULL));
// Start with "."
- m_todo.push_back(strdup("."));
+ dupname = strdup(".");
+ m_todo.push_back(dupname);
n_known = m_todo.size();
}
while (n_known != 0) {
@@ -697,6 +699,7 @@
int error = 0;
with_mutex_locked tm(&m_todo_mutex, BACKTRACE(NULL));
struct dirent const *e = NULL;
+ char *dupname;
while((e = readdir(dir)) != NULL) {
if (!the_manager.copy_is_enabled()) break;
if(is_dot(e)) {
@@ -716,8 +719,9 @@
goto out;
}
+ dupname = strdup(new_name);
// Add it to our todo list.
- m_todo.push_back(strdup(new_name));
+ m_todo.push_back(dupname);
TRACE("~~~Added this file to todo list:", new_name);
}
}
@@ -730,7 +734,9 @@
//
void copier::add_file_to_todo(const char *file) throw() {
with_mutex_locked tm(&m_todo_mutex, BACKTRACE(NULL));
- m_todo.push_back(strdup(file));
+ char *dupname;
+ dupname = strdup(file);
+ m_todo.push_back(dupname);
}
////////////////////////////////////////////////////////////////////////////////
|