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.