[Tarantool-patches] [PATCH 2/2] box: fix uninitialized access to version_id in process_subscribe()
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Tue Aug 31 00:38:59 MSK 2021
Hi! Thanks for the patch!
> diff --git a/src/box/box.cc b/src/box/box.cc
> index 2c8113cbb..f98437d05 100644
> --- a/src/box/box.cc
> +++ b/src/box/box.cc
> @@ -2850,8 +2850,8 @@ box_process_subscribe(struct ev_io *io, struct xrow_header *header)
> struct tt_uuid replica_uuid = uuid_nil;
> struct tt_uuid peer_replicaset_uuid = uuid_nil;
> struct vclock replica_clock;
> - uint32_t replica_version_id;
> vclock_create(&replica_clock);
> + uint32_t replica_version_id = 0;
There seems to be an inconsistency in xrow_decode_subscribe(). It takes
multiple optional parameters, but only some of them are reset to default
values before the body is decoded.
- replicaset_uuid, instance_uuid, vclock, version_id are left untouched
if not found.
- anon, id_filter are nullified in the beginning.
Is there a reason why all the parameters can't be set to defaults / reset
right in xrow_decode_subscribe() before the body is decoded?
More information about the Tarantool-patches
mailing list