Brad Smith wrote:

> qga: fix uname() return value check in guest-get-osinfo
> 
> POSIX only specifies that uname() returns a non-negative value on
> success. Solaris returns 1, so guest-get-osinfo treated every
> successful call as a failure and reported a stale errno.
> 
> Check for a negative return value instead, as linux-user/uname.c
> already does.
> 
> Signed-off-by: Brad Smith <[email protected]>
> ---
>  qga/commands-posix.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/qga/commands-posix.c b/qga/commands-posix.c
> index dcc683f6c9..23abaf1956 100644
> --- a/qga/commands-posix.c
> +++ b/qga/commands-posix.c
> @@ -1322,7 +1322,7 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp)
>  
>      info = g_new0(GuestOSInfo, 1);
>  
> -    if (uname(&kinfo) != 0) {
> +    if (uname(&kinfo) < 0) {
>          error_setg_errno(errp, errno, "uname failed");
>      } else {
>          info->kernel_version = g_strdup(kinfo.version);
> -- 
> 2.56.0
> 
> 

Reviewed-by: Roman Bogorodskiy <[email protected]>

Reply via email to