diff --git a/src/r_textures.c b/src/r_textures.c index 8ff85de43..7e3d8445d 100644 --- a/src/r_textures.c +++ b/src/r_textures.c @@ -410,10 +410,18 @@ UINT8 *R_GenerateTexture(size_t texnum) x2 = x1 + width; if (x1 > texture->width || x2 < 0) + { + if (dealloc) + Z_Free(realpatch); continue; // patch not located within texture's x bounds, ignore + } if (patch->originy > texture->height || (patch->originy + height) < 0) + { + if (dealloc) + Z_Free(realpatch); continue; // patch not located within texture's y bounds, ignore + } // patch is actually inside the texture! // now check if texture is partly off-screen and adjust accordingly