summaryrefslogtreecommitdiff
path: root/ctdb/protocol
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2017-08-07 18:00:04 +1000
committerMartin Schwenke <martins@samba.org>2017-08-30 14:59:26 +0200
commita8bdcf9c65b9f440c6dccc6e0b8a42c886c4c09d (patch)
treeca6ea1e6f74614a0a21272e49ce16ba2611d1025 /ctdb/protocol
parentb107397d8bbb767127807ee86ce88d0e14a53f09 (diff)
downloadsamba-a8bdcf9c65b9f440c6dccc6e0b8a42c886c4c09d.tar.gz
ctdb-protocol: Fix marshalling of ctdb_event_reply
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/protocol')
-rw-r--r--ctdb/protocol/protocol_event.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ctdb/protocol/protocol_event.c b/ctdb/protocol/protocol_event.c
index 83aa24e731f..b1a7498be08 100644
--- a/ctdb/protocol/protocol_event.c
+++ b/ctdb/protocol/protocol_event.c
@@ -932,6 +932,11 @@ int ctdb_event_reply_push(struct ctdb_event_reply *in,
offset += np;
ctdb_event_reply_data_push(&in->rdata, buf+offset, &np);
+ offset += np;
+
+ if (offset > *buflen) {
+ return EMSGSIZE;
+ }
return 0;
}
@@ -954,6 +959,11 @@ int ctdb_event_reply_pull(uint8_t *buf, size_t buflen,
if (ret != 0) {
return ret;
}
+ offset += np;
+
+ if (offset > buflen) {
+ return EMSGSIZE;
+ }
return 0;
}