Acked-by: Miguel Angel Ajo <majop...@redhat.com>

On Sat, May 27, 2017 at 5:44 AM, Ben Pfaff <b...@ovn.org> wrote:

> These functions all set txn and do not un-set it within their main
> command execution function, so it's gratuitous to check it along this path.
>
> Found by Coverity.
>
> Reported-at: https://scan3.coverity.com/reports.htm#v16889/p10449/
> fileInstanceId=14763082&defectInstanceId=4305338&mergedDefectId=180417
> Signed-off-by: Ben Pfaff <b...@ovn.org>
> ---
>  ovn/utilities/ovn-nbctl.c | 9 ++++-----
>  ovn/utilities/ovn-sbctl.c | 9 ++++-----
>  utilities/ovs-vsctl.c     | 9 ++++-----
>  3 files changed, 12 insertions(+), 15 deletions(-)
>
> diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c
> index 9428a342bec5..b5143e6adfae 100644
> --- a/ovn/utilities/ovn-nbctl.c
> +++ b/ovn/utilities/ovn-nbctl.c
> @@ -3309,11 +3309,10 @@ do_nbctl(const char *args, struct ctl_command
> *commands, size_t n_commands,
>  try_again:
>      /* Our transaction needs to be rerun, or a prerequisite was not met.
> Free
>       * resources and return so that the caller can try again. */
> -    if (txn) {
> -        ovsdb_idl_txn_abort(txn);
> -        ovsdb_idl_txn_destroy(txn);
> -        the_idl_txn = NULL;
> -    }
> +    ovsdb_idl_txn_abort(txn);
> +    ovsdb_idl_txn_destroy(txn);
> +    the_idl_txn = NULL;
> +
>      ovsdb_symbol_table_destroy(symtab);
>      for (c = commands; c < &commands[n_commands]; c++) {
>          ds_destroy(&c->output);
> diff --git a/ovn/utilities/ovn-sbctl.c b/ovn/utilities/ovn-sbctl.c
> index 0142062fd13f..4a884232f8fd 100644
> --- a/ovn/utilities/ovn-sbctl.c
> +++ b/ovn/utilities/ovn-sbctl.c
> @@ -1344,11 +1344,10 @@ do_sbctl(const char *args, struct ctl_command
> *commands, size_t n_commands,
>  try_again:
>      /* Our transaction needs to be rerun, or a prerequisite was not met.
> Free
>       * resources and return so that the caller can try again. */
> -    if (txn) {
> -        ovsdb_idl_txn_abort(txn);
> -        ovsdb_idl_txn_destroy(txn);
> -        the_idl_txn = NULL;
> -    }
> +    ovsdb_idl_txn_abort(txn);
> +    ovsdb_idl_txn_destroy(txn);
> +    the_idl_txn = NULL;
> +
>      ovsdb_symbol_table_destroy(symtab);
>      for (c = commands; c < &commands[n_commands]; c++) {
>          ds_destroy(&c->output);
> diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
> index 9fe3df03af66..28c1c4457016 100644
> --- a/utilities/ovs-vsctl.c
> +++ b/utilities/ovs-vsctl.c
> @@ -2670,11 +2670,10 @@ do_vsctl(const char *args, struct ctl_command
> *commands, size_t n_commands,
>  try_again:
>      /* Our transaction needs to be rerun, or a prerequisite was not met.
> Free
>       * resources and return so that the caller can try again. */
> -    if (txn) {
> -        ovsdb_idl_txn_abort(txn);
> -        ovsdb_idl_txn_destroy(txn);
> -        the_idl_txn = NULL;
> -    }
> +    ovsdb_idl_txn_abort(txn);
> +    ovsdb_idl_txn_destroy(txn);
> +    the_idl_txn = NULL;
> +
>      ovsdb_symbol_table_destroy(symtab);
>      for (c = commands; c < &commands[n_commands]; c++) {
>          ds_destroy(&c->output);
> --
> 2.10.2
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to