[ovs-dev] [coverity3 06/13] ovsdb-idl: JSONRPC_REPLY message always has nonnull 'id'.

Ethan Jackson ethan at nicira.com
Wed Feb 23 21:48:27 UTC 2011


Looks Good.

On Wed, Feb 23, 2011 at 1:24 PM, Ben Pfaff <blp at nicira.com> wrote:
> A JSONRPC_REPLY message always have a nonnull 'id' member, as ensured by
> jsonrpc_msg_is_valid().  Checking for NULL here confused Coverity into
> believing that the call to ovsdb_idl_txn_process_reply() just below could
> cause a null pointer dereference, since ovsdb_idl_txn_process_reply() uses
> the 'id' member without checking it for null.
>
> Coverity #10713.
> ---
>  lib/ovsdb-idl.c |    5 ++---
>  1 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
> index df5aff5..272605b 100644
> --- a/lib/ovsdb-idl.c
> +++ b/lib/ovsdb-idl.c
> @@ -1,4 +1,4 @@
> -/* Copyright (c) 2009, 2010 Nicira Networks.
> +/* Copyright (c) 2009, 2010, 2011 Nicira Networks.
>  *
>  * Licensed under the Apache License, Version 2.0 (the "License");
>  * you may not use this file except in compliance with the License.
> @@ -313,8 +313,7 @@ ovsdb_idl_run(struct ovsdb_idl *idl)
>             idl->monitor_request_id = NULL;
>             ovsdb_idl_clear(idl);
>             ovsdb_idl_parse_update(idl, msg->result);
> -        } else if (msg->type == JSONRPC_REPLY
> -                   && msg->id && msg->id->type == JSON_STRING
> +        } else if (msg->type == JSONRPC_REPLY && msg->id->type == JSON_STRING
>                    && !strcmp(msg->id->u.string, "echo")) {
>             /* It's a reply to our echo request.  Ignore it. */
>         } else if ((msg->type == JSONRPC_ERROR
> --
> 1.7.2.3
>
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org
>




More information about the dev mailing list