On Wed, Sep 7, 2016 at 10:34 AM, Martina Kollarova <martina.kollar...@intel.com> 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);
Presumably off_t lseek_ret, since I think it can return a 64-bit integer depending on the platform. > + 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); > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev