ctdbd_conn: possible memleak in ctdbd_dbpath
authorSwen Schillig <swen@linux.ibm.com>
Mon, 30 Mar 2020 10:29:38 +0000 (12:29 +0200)
committerMartin Schwenke <martins@samba.org>
Thu, 2 Apr 2020 09:51:39 +0000 (09:51 +0000)
A cstatus != 0 does not guarantee to have no received data
referenced by rdata.dptr.
Therefore, make sure rdata.dptr is free'd.

Signed-off-by: Swen Schillig <swen@linux.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
source3/lib/ctdbd_conn.c

index ec9b3a078127a56000ca0c10991e07928452f51f..33c811a06b7a819212300d7493bca9a10c766996 100644 (file)
@@ -834,7 +834,7 @@ char *ctdbd_dbpath(struct ctdbd_connection *conn,
        if ((ret != 0) || cstatus != 0) {
                DEBUG(0, (__location__ " ctdb_control for getdbpath failed: %s\n",
                          strerror(ret)));
-               return NULL;
+               TALLOC_FREE(rdata.dptr);
        }
 
        return (char *)rdata.dptr;