Thanks. With the int changed to off_t as remarked by others, and the then redundant (off_t) cast in the if-condition removed, this patch is

Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>

On 07.09.2016 16:34, Martina Kollarova wrote:
A possible error (-1) was being lost because it was first converted to an
unsigned int and only then checked.
---
 src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c 
b/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c
index 07eca99..b8326fb 100644
--- a/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c
+++ b/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c
@@ -252,18 +252,18 @@ kms_sw_displaytarget_add_from_prime(struct kms_sw_winsys 
*kms_sw, int fd,
    if (!kms_sw_dt)
       return NULL;

+   int lseek_ret = lseek(fd, 0, SEEK_END);
+   if (lseek_ret == (off_t)-1) {
+      FREE(kms_sw_dt);
+      return NULL;
+   }
+   kms_sw_dt->size = lseek_ret;
    kms_sw_dt->ref_count = 1;
    kms_sw_dt->handle = handle;
-   kms_sw_dt->size = lseek(fd, 0, SEEK_END);
    kms_sw_dt->width = width;
    kms_sw_dt->height = height;
    kms_sw_dt->stride = stride;

-   if (kms_sw_dt->size == (off_t)-1) {
-      FREE(kms_sw_dt);
-      return NULL;
-   }
-
    lseek(fd, 0, SEEK_SET);

    list_add(&kms_sw_dt->link, &kms_sw->bo_list);

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to