The file name used to point to the calling function's stack for stick
tables, which was OK during parsing but remained dangling afterwards.
At least it was already marked const so as not to accidentally free it.
Let's make it point to a file_name_node now.
/* rarely used config stuff below (should not interfere with updt_lock) */
struct proxy *proxies_list; /* The list of proxies which reference this stick-table. */
struct {
- const char *file; /* The file where the stick-table is declared. */
+ const char *file; /* The file where the stick-table is declared (global name). */
int line; /* The line in this <file> the stick-table is declared. */
} conf;
};
t->idlen = strlen(id);
t->nid = nid;
t->type = (unsigned int)-1;
- t->conf.file = file;
+ t->conf.file = copy_file_name(file);
t->conf.line = linenum;
t->write_to.name = NULL;
t->brates_factor = 1;