summaryrefslogtreecommitdiff
path: root/ctdb/protocol/protocol_basic.c
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2017-06-29 22:14:23 +1000
committerMartin Schwenke <martins@samba.org>2017-08-30 14:59:21 +0200
commit69a2cb880d09ab6fe0e821cdbd6bb3a5262a0cee (patch)
tree7d54d2ce75789851a30e8ac6b6337d09a4cdb7ea /ctdb/protocol/protocol_basic.c
parent5ee30249b22dc3fd616949426ff3986bb222d169 (diff)
downloadsamba-69a2cb880d09ab6fe0e821cdbd6bb3a5262a0cee.tar.gz
ctdb-protocol: Fix marshalling for uint32_t
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/protocol/protocol_basic.c')
-rw-r--r--ctdb/protocol/protocol_basic.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/ctdb/protocol/protocol_basic.c b/ctdb/protocol/protocol_basic.c
index df8e86ae072..048dca44bcb 100644
--- a/ctdb/protocol/protocol_basic.c
+++ b/ctdb/protocol/protocol_basic.c
@@ -96,24 +96,25 @@ int ctdb_int32_pull(uint8_t *buf, size_t buflen, int32_t *out, size_t *npull)
return 0;
}
-size_t ctdb_uint32_len(uint32_t val)
+size_t ctdb_uint32_len(uint32_t *in)
{
return sizeof(uint32_t);
}
-void ctdb_uint32_push(uint32_t val, uint8_t *buf)
+void ctdb_uint32_push(uint32_t *in, uint8_t *buf, size_t *npush)
{
- memcpy(buf, &val, sizeof(uint32_t));
+ memcpy(buf, in, sizeof(uint32_t));
+ *npush = sizeof(uint32_t);
}
-int ctdb_uint32_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- uint32_t *out)
+int ctdb_uint32_pull(uint8_t *buf, size_t buflen, uint32_t *out, size_t *npull)
{
if (buflen < sizeof(uint32_t)) {
return EMSGSIZE;
}
- *out = *(uint32_t *)buf;
+ memcpy(out, buf, sizeof(uint32_t));
+ *npull = sizeof(uint32_t);
return 0;
}