[ovs-dev] [coverity 08/12] process: Check return value of set_nonblocking().

Ethan Jackson ethan at nicira.com
Fri Feb 1 21:56:31 UTC 2013


Acked-by: Ethan Jackson <ethan at nicira.com>

On Thu, Jan 24, 2013 at 2:44 PM, Ben Pfaff <blp at nicira.com> wrote:
> It's unlikely to fail but checking it can't hurt.
>
> Found by Coverity.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
>  lib/process.c |   12 +++++++++---
>  1 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/lib/process.c b/lib/process.c
> index 3fc2e18..795a136 100644
> --- a/lib/process.c
> +++ b/lib/process.c
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
> + * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
>   *
>   * Licensed under the Apache License, Version 2.0 (the "License");
>   * you may not use this file except in compliance with the License.
> @@ -408,14 +408,20 @@ struct stream {
>  static int
>  stream_open(struct stream *s, size_t max_size)
>  {
> +    int error;
> +
>      s->max_size = max_size;
>      ds_init(&s->log);
>      if (pipe(s->fds)) {
>          VLOG_WARN("failed to create pipe: %s", strerror(errno));
>          return errno;
>      }
> -    set_nonblocking(s->fds[0]);
> -    return 0;
> +    error = set_nonblocking(s->fds[0]);
> +    if (error) {
> +        close(s->fds[0]);
> +        close(s->fds[1]);
> +    }
> +    return error;
>  }
>
>  static void
> --
> 1.7.2.5
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list