The title do not convey the real issue.
We should be more concerned by an issue of "wrong error message"
rather than an "argument" which "cannot be negative".

2016-04-20 16:39, Daniel Mrzyglod:
> Fix issue reported by Coverity.
> Coverity ID 13269 & 13266:

It is better to put these references below and start with the
explanation of the issue.

> Function strerror(errno) has built strings only for non-negative errno values.
> for negative values of errno it describe error as "Unknown error -errno"
> to be more descriptive i put string "channel not found" taken from header.
> 
> The negative argument will be interpreted as a very large unsigned value.

OK.
The next statement is probably a useless copy paste of the coverity report.

> In send_msg: Negative value used as argument to a function expecting
> a positive value (for example, size of buffer or allocation)

Coverity issue: 13266
Coverity issue: 13269

> Fixes: 445c6528b55f ("power: common interface for guest and host")
> 
> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod at intel.com>
[...]
>               RTE_LOG(ERR, GUEST_CHANNEL, "Error on channel '%s' 
> communications "
> -                             "test: %s\n", fd_path, strerror(ret));
> +                             "test: %s\n", fd_path, ret > 0 ? strerror(ret) :
> +                                             "channel not connected");

The indent is messy. I sugest this:

+               RTE_LOG(ERR, GUEST_CHANNEL,
+                               "Error on channel '%s' communications test: 
%s\n",
+                               fd_path, ret > 0 ? strerror(ret) :
+                               "channel not connected");


> -     RTE_LOG(DEBUG, POWER, "Error sending message: %s\n", strerror(ret));
> +     RTE_LOG(DEBUG, POWER, "Error sending message: %s\n", ret > 0 ? 
> strerror(ret)
> +                     : "channel not connected");

+       RTE_LOG(DEBUG, POWER, "Error sending message: %s\n",
+                       ret > 0 ? strerror(ret) : "channel not connected");

Applied with above changes, thanks.

Reply via email to