diff options
author | Amitay Isaacs <amitay@gmail.com> | 2017-06-29 22:14:23 +1000 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2017-08-30 14:59:21 +0200 |
commit | 69a2cb880d09ab6fe0e821cdbd6bb3a5262a0cee (patch) | |
tree | 7d54d2ce75789851a30e8ac6b6337d09a4cdb7ea /ctdb/protocol/protocol_basic.c | |
parent | 5ee30249b22dc3fd616949426ff3986bb222d169 (diff) | |
download | samba-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.c | 13 |
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; } |