]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ZERO_STRUCT writes one byte too many here.
authorVolker Lendecke <vl@samba.org>
Tue, 17 Apr 2007 07:36:53 +0000 (09:36 +0200)
committerVolker Lendecke <vl@samba.org>
Tue, 17 Apr 2007 07:36:53 +0000 (09:36 +0200)
(This used to be ctdb commit 3c5c433e5b92f8fe2193a6e5720e31e3eb6bc76b)

ctdb/common/ctdb_daemon.c

index aa1f12474a10e8f6701ed5dccddf6f616a00d919..320a9e9b1958b7619ca7e7383c3b0548c293148e 100644 (file)
@@ -89,7 +89,7 @@ static void daemon_message_handler(struct ctdb_context *ctdb, uint32_t srvid,
 /*XXX cant use this since it returns an int    CTDB_NO_MEMORY(ctdb, r);*/
        talloc_set_name_const(r, "req_message packet");
 
-       ZERO_STRUCT(*r);
+       memset(r, 0, offsetof(struct ctdb_req_message, data));
 
        r->hdr.length    = len;
        r->hdr.ctdb_magic = CTDB_MAGIC;
@@ -171,7 +171,7 @@ static void daemon_fetch_lock_complete(struct ctdb_call_state *state)
                printf("Failed to allocate reply_call in ctdb daemon\n");
                return;
        }
-       ZERO_STRUCT(*r);
+       memset(r, 0, offsetof(struct ctdb_reply_fetch_lock, data));
        r->hdr.length       = length;
        r->hdr.ctdb_magic   = CTDB_MAGIC;
        r->hdr.ctdb_version = CTDB_VERSION;
@@ -347,7 +347,7 @@ static void daemon_request_call_from_client(struct ctdb_client *client,
                printf("Failed to allocate reply_call in ctdb daemon\n");
                return;
        }
-       ZERO_STRUCT(*r);
+       memset(r, 0, offsetof(struct ctdb_reply_call, data));
        r->hdr.length       = length;
        r->hdr.ctdb_magic   = CTDB_MAGIC;
        r->hdr.ctdb_version = CTDB_VERSION;