[ovs-git] [openvswitch/ovs] e6fd49: raft: Fix leak of the incomplete command.
Ilya Maximets
noreply at github.com
Tue May 5 14:22:18 UTC 2020
Branch: refs/heads/branch-2.10
Home: https://github.com/openvswitch/ovs
Commit: e6fd49def4116d8d4430ea7de55b983c5d5f7522
https://github.com/openvswitch/ovs/commit/e6fd49def4116d8d4430ea7de55b983c5d5f7522
Author: Ilya Maximets <i.maximets at ovn.org>
Date: 2020-05-05 (Tue, 05 May 2020)
Changed paths:
M ovsdb/raft.c
Log Message:
-----------
raft: Fix leak of the incomplete command.
Function raft_command_initiate() returns correctly referenced command
instance. 'n_ref' equals 1 for complete commands and 2 for incomplete
commands because one more reference is in raft->commands list.
raft_handle_execute_command_request__() leaks the reference by not
returning pointer anywhere and not unreferencing incomplete commands.
792 bytes in 11 blocks are definitely lost in loss record 258 of 262
at 0x483BB1A: calloc (vg_replace_malloc.c:762)
by 0x44BA32: xcalloc (util.c:121)
by 0x422E5F: raft_command_create_incomplete (raft.c:2038)
by 0x422E5F: raft_command_initiate (raft.c:2061)
by 0x428651: raft_handle_execute_command_request__ (raft.c:4161)
by 0x428651: raft_handle_execute_command_request (raft.c:4177)
by 0x428651: raft_handle_rpc (raft.c:4230)
by 0x428651: raft_conn_run (raft.c:1445)
by 0x428DEA: raft_run (raft.c:1803)
by 0x407392: main_loop (ovsdb-server.c:226)
by 0x407392: main (ovsdb-server.c:469)
Fixes: 1b1d2e6daa56 ("ovsdb: Introduce experimental support for clustered databases.")
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
Acked-by: Han Zhou <hzhou at ovn.org>
Signed-off-by: William Tu <u9012063 at gmail.com>
More information about the git
mailing list