]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
Fix bad memory overrun bug in R_Shadow_PrepareLights_AddSceneLight - it was not multi...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 11 Oct 2016 02:56:31 +0000 (02:56 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 11 Oct 2016 02:56:31 +0000 (02:56 +0000)
Thanks to Monster for reporting this bug.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12287 d7cf8633-e32d-0410-b094-e92efae38249

r_shadow.c

index 202ca281736b812e6246287f022e103da9b7d624..91b704c10d78e3263d3c4e4b844fc1ec7ef8e03e 100644 (file)
@@ -5068,8 +5068,8 @@ qboolean R_Shadow_PrepareLights_AddSceneLight(rtlight_t *rtlight)
                return false;
        if (r_shadow_scenemaxlights <= r_shadow_scenenumlights && r_shadow_scenemaxlights < MAX_SCENELIGHTS)
        {
                return false;
        if (r_shadow_scenemaxlights <= r_shadow_scenenumlights && r_shadow_scenemaxlights < MAX_SCENELIGHTS)
        {
-               r_shadow_scenemaxlights = bound(1024, r_shadow_scenemaxlights, 65536);
-               r_shadow_scenelightlist = (rtlight_t **)Mem_Realloc(r_main_mempool, r_shadow_scenelightlist, r_shadow_scenemaxlights);
+               r_shadow_scenemaxlights = bound(1024, r_shadow_scenemaxlights, MAX_SCENELIGHTS);
+               r_shadow_scenelightlist = (rtlight_t **)Mem_Realloc(r_main_mempool, r_shadow_scenelightlist, r_shadow_scenemaxlights * sizeof(rtlight_t *));
        }
        r_shadow_scenelightlist[r_shadow_scenenumlights++] = rtlight;
        return true;
        }
        r_shadow_scenelightlist[r_shadow_scenenumlights++] = rtlight;
        return true;