evas gl - avoid a possible crash of tex upload of invalid sized image
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 6 Jan 2017 08:42:44 +0000 (17:42 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 6 Jan 2017 08:46:13 +0000 (17:46 +0900)
so i had a crash where my bt said the image size is 1x1 but the img
struct said its 0x0, so put in protection to not upload a texture from
a 0x0 image... just for now... because this is odd - the image data is
a real ptr i can access and there should be at least 1 pixel... but i
can't be sure this fixes it as this is one of those "one offs" i cant
reproduce...

@fix

src/modules/evas/engines/gl_common/evas_gl_texture.c

index 903a60b214690ae36e397b8944ad4755ec1dbd16..c6f045abd7314acc049bcc6c04c838e7fb10f2ee 100644 (file)
@@ -1173,6 +1173,8 @@ evas_gl_common_texture_upload(Evas_GL_Texture *tex, RGBA_Image *im, unsigned int
 {
    GLuint fmt;
 
+   if ((((int)im->cache_entry.w) <= 0) ||
+       (((int)im->cache_entry.w) <= 0)) return;
    fmt = tex->pt->format;
    glBindTexture(GL_TEXTURE_2D, tex->pt->texture);
    if (tex->gc->shared->info.unpack_row_length)