[Mesa-dev] [PATCH v2] gallium: fix return value check
Martina Kollarova
martina.kollarova at intel.com
Thu Sep 8 12:12:42 UTC 2016
A possible error (-1) was being lost because it was first converted to an
unsigned int and only then checked.
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Signed-off-by: Martina Kollarova <martina.kollarova at intel.com>
---
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..22e1c93 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;
+ off_t lseek_ret = lseek(fd, 0, SEEK_END);
+ if (lseek_ret == -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);
--
1.9.1
More information about the mesa-dev
mailing list