Am 07.06.2014 20:38, schrieb Johannes Obermayr: > From: Takashi Iwai <ti...@suse.de> > > Fix the crash of "gnome-control-center info" invocation on QEMU where > zero height is passed at init. > > Fixes: https://bugzilla.novell.com/show_bug.cgi?id=879462 > > Signed-off-by: Takashi Iwai <ti...@suse.de> > --- > To: mesa-dev@lists.freedesktop.org > Cc: "10.2" <mesa-sta...@lists.freedesktop.org> > Takashi: Please send also a proper patch to mesa-dev and mesa-stable next > time ... > --- > src/gallium/drivers/llvmpipe/lp_texture.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c > b/src/gallium/drivers/llvmpipe/lp_texture.c > index f601181..5ab2559 100644 > --- a/src/gallium/drivers/llvmpipe/lp_texture.c > +++ b/src/gallium/drivers/llvmpipe/lp_texture.c > @@ -115,7 +115,7 @@ llvmpipe_texture_layout(struct llvmpipe_screen *screen, > lpr->row_stride[level] = align(nblocksx * block_size, > util_cpu_caps.cacheline); > > /* if row_stride * height > LP_MAX_TEXTURE_SIZE */ > - if (lpr->row_stride[level] > LP_MAX_TEXTURE_SIZE / nblocksy) { > + if (nblocksy && lpr->row_stride[level] > LP_MAX_TEXTURE_SIZE / > nblocksy) { > /* image too large */ > goto fail; > } >
I am sort of surprised zero sized textures don't crash elsewhere (we should always allocate at least 64 bytes but I wouldn't really trust texture wrapping code to work later) but this looks good to me. I guess it could be alternatively more simply written as (uint64_t)lpr->row_stride[level] * nblocksy > LP_MAX_TEXTURE_SIZE but either way is fine by me. Reviewed-by: Roland Scheidegger <srol...@vmware.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev