From d9db8984af603b1d75f03b182adf1ebc55334f14 Mon Sep 17 00:00:00 2001 From: drfrag Date: Sat, 29 May 2021 20:29:12 +0200 Subject: [PATCH] - Fixed crash calling ChangeSky() with an invalid texture. --- src/rendering/r_sky.cpp | 4 +--- src/rendering/swrenderer/plane/r_skyplane.cpp | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/rendering/r_sky.cpp b/src/rendering/r_sky.cpp index 96cc6083a..4d9e2a5cf 100644 --- a/src/rendering/r_sky.cpp +++ b/src/rendering/r_sky.cpp @@ -80,14 +80,12 @@ void InitSkyMap(FLevelLocals *Level) Level->skytexture1 = TexMan.GetFrontSkyLayer(Level->skytexture1); } - skytex1 = TexMan.GetGameTexture(Level->skytexture1, false); skytex2 = TexMan.GetGameTexture(Level->skytexture2, false); - if (skytex1 == nullptr) + if (skytex1 == nullptr || skytex2 == nullptr) return; - if ((Level->flags & LEVEL_DOUBLESKY) && skytex1->GetDisplayHeight() != skytex2->GetDisplayHeight()) { Printf(TEXTCOLOR_BOLD "Both sky textures must be the same height." TEXTCOLOR_NORMAL "\n"); diff --git a/src/rendering/swrenderer/plane/r_skyplane.cpp b/src/rendering/swrenderer/plane/r_skyplane.cpp index 48639768a..cc59301ad 100644 --- a/src/rendering/swrenderer/plane/r_skyplane.cpp +++ b/src/rendering/swrenderer/plane/r_skyplane.cpp @@ -74,7 +74,7 @@ namespace swrenderer auto sskytex1 = GetPalettedSWTexture(Level->skytexture1, true, false, true); auto sskytex2 = GetPalettedSWTexture(Level->skytexture2, true, false, true); - if (sskytex1 == nullptr) + if (sskytex1 == nullptr || sskytex2 == nullptr) return; skytexturemid = 0;