]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/backup.c
Fix race condition between setip and the access to CLIENT::address()
[bacula/bacula] / bacula / src / dird / backup.c
index 10f301f011a1a49b6f54ab8a1e0baecb93a39746..47888eecc37f2939a2bb48d8bae532b5f13fc74a 100644 (file)
@@ -356,6 +356,7 @@ bool send_client_addr_to_sd(JCR *jcr)
 {
    int tls_need = BNET_TLS_NONE;
    BSOCK *sd = jcr->store_bsock;
+   POOL_MEM buf;
 
    /* TLS Requirement for the client */
    if (jcr->client->tls_enable) {
@@ -368,7 +369,7 @@ bool send_client_addr_to_sd(JCR *jcr)
    /*
     * Send Client address to the SD
     */
-   sd->fsend(clientaddr, jcr->client->address(), jcr->client->FDport, tls_need);
+   sd->fsend(clientaddr, jcr->client->address(buf.addr()), jcr->client->FDport, tls_need);
    if (!response(jcr, sd, OKclient, "Client", DISPLAY_ERROR)) {
       return false;
    }