When we dispatch a message to a handler, pass the data as a real talloc object so...
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 2 Jul 2009 02:58:49 +0000 (12:58 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 2 Jul 2009 02:58:49 +0000 (12:58 +1000)
common/ctdb_message.c

index 1aea28fd35d8a9f10801eccb6b298b1eb963cb64..41eae517eb17d493d01cd0ce8114344edd7349bd 100644 (file)
@@ -52,8 +52,8 @@ void ctdb_request_message(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
        struct ctdb_req_message *c = (struct ctdb_req_message *)hdr;
        TDB_DATA data;
 
-       data.dptr = &c->data[0];
        data.dsize = c->datalen;
+       data.dptr = talloc_memdup(c, &c->data[0], c->datalen);
 
        ctdb_dispatch_message(ctdb, c->srvid, data);
 }