diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/process.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 0f3e560611..487358d701 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1887,7 +1887,7 @@ received when we should release a specific IP static void release_ip(const char *ip, void *priv) { char addr[INET6_ADDRSTRLEN]; - char *p; + char *p = addr; client_socket_addr(get_client_fd(),addr,sizeof(addr)); @@ -1895,7 +1895,7 @@ static void release_ip(const char *ip, void *priv) p = addr + 7; } - if ((strcmp(p, ip) == 0) || (strcmp(addr, ip) == 0)) { + if ((strcmp(p, ip) == 0) || ((p != addr) && strcmp(addr, ip) == 0)) { /* we can't afford to do a clean exit - that involves database writes, which would potentially mean we are still running after the failover has finished - |