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@amd.com>
Signed-off-by: Martina Kollarova <martina.kollarova@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
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);