[ovs-dev] [PATCH] jsonrpc-server: Enforce uniqueness of monitor IDs.
Justin Pettit
jpettit at ovn.org
Wed Dec 20 23:03:37 UTC 2017
> On Dec 8, 2017, at 1:01 PM, Ben Pfaff <blp at ovn.org> wrote:
>
> This oversight allowed monitor IDs to be duplicated when the
> monitor_cond_change request changed them.
>
> Signed-off-by: Ben Pfaff <blp at ovn.org>
> ---
> ovsdb/jsonrpc-server.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c
> index da3b3835f0d7..36e50241b040 100644
> --- a/ovsdb/jsonrpc-server.c
> +++ b/ovsdb/jsonrpc-server.c
> @@ -1420,6 +1420,14 @@ ovsdb_jsonrpc_monitor_cond_change(struct ovsdb_jsonrpc_session *s,
> goto error;
> }
>
> + struct ovsdb_jsonrpc_monitor *m2
> + = ovsdb_jsonrpc_monitor_find(s, params->u.array.elems[1]);
> + if (m2 && m2 != m) {
> + error = ovsdb_syntax_error(params->u.array.elems[1], NULL,
> + "duplicate monitor ID");
> + goto error;
> + }
As we discussed off-line, I found the logic a bit confusing. It might be clearer with either a comment or a slight restructuring of the code.
Acked-by: Justin Pettit <jpettit at ovn.org>
--Justin
More information about the dev
mailing list