On 64-bit architectures (which is all we care about right now in ACPI
code), the value coming from a __u32 field makes "len" positive anyway,
but since from an abstract pov the tool is right, let's just re-order
things.

Coverity ID: 1204965

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -672,9 +672,11 @@ static ssize_t __erst_read(u64 record_id
        if (rcd_tmp->record_length > buflen)
                return -ENOBUFS;
        len = rcd_tmp->record_length;
+       if (len < 0)
+               return -ERANGE;
        memcpy(record, rcd_tmp, len);
 
-       return len >= 0 ? len : -ERANGE;
+       return len;
 }
 
 /*



APEI: pull a signedness check ahead for Coverity's sake

On 64-bit architectures (which is all we care about right now in ACPI
code), the value coming from a __u32 field makes "len" positive anyway,
but since from an abstract pov the tool is right, let's just re-order
things.

Coverity ID: 1204965

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -672,9 +672,11 @@ static ssize_t __erst_read(u64 record_id
        if (rcd_tmp->record_length > buflen)
                return -ENOBUFS;
        len = rcd_tmp->record_length;
+       if (len < 0)
+               return -ERANGE;
        memcpy(record, rcd_tmp, len);
 
-       return len >= 0 ? len : -ERANGE;
+       return len;
 }
 
 /*
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to