mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-24 07:37:53 -04:00
BUG/MINOR: server-state: properly handle the case where the base is not set
The refactoring in commit 131b07be3 ("MEDIUM: server: Refactor
apply_server_state() to make it more readable") made the global
server_state_base be dereferenced before being checked, resulting
in a crash on certain files.
This happened in 2.4-dev10, no backport is needed.
This commit is contained in:
parent
cd03be73d5
commit
6d4173e622
1 changed files with 2 additions and 1 deletions
|
|
@ -727,7 +727,7 @@ static int srv_state_parse_and_store_line(char *line, int vsn, struct eb_root *s
|
|||
*/
|
||||
static inline int srv_state_get_filepath(char *dst_path, int maxpathlen, const char *filename)
|
||||
{
|
||||
char *sep = (global.server_state_base[strlen(global.server_state_base)-1] != '/' ? "/": "");
|
||||
char *sep;
|
||||
int len = 0;
|
||||
|
||||
/* create the globalfilepath variable */
|
||||
|
|
@ -739,6 +739,7 @@ static inline int srv_state_get_filepath(char *dst_path, int maxpathlen, const c
|
|||
}
|
||||
else {
|
||||
/* concat base directory and global server-state file */
|
||||
sep = (global.server_state_base[strlen(global.server_state_base)-1] != '/' ? "/": "");
|
||||
len = snprintf(dst_path, maxpathlen, "%s%s%s", global.server_state_base, sep, filename);
|
||||
}
|
||||
return (len < maxpathlen ? len: -1);
|
||||
|
|
|
|||
Loading…
Reference in a new issue