Excessive scrolling texture overflow

Due to a bug in the source code, excessive usage of the scrolling texture effect causes a crash or level dependent problems.

Inside of the function P_SpawnSpecials in p_spec.c: //Init line EFFECTs numlinespecials = 0; for (i = 0;i < numlines; i++) { switch(lines[i].special) { case 48: // EFFECT FIRSTCOL SCROLL+ linespeciallist[numlinespecials] = &lines[i]; numlinespecials++; break; } }

A check against MAXLINEANIMS is not done before adding it to the list. Since MAXLINEANIMS is only 64, after the 64th scrolling texture wall inside the map is processed for specials, memory will start to be overwritten. Depending on how much memory is overwritten, this may produce level dependent results or crashes depending of the layout of internal variable memory.

Doom2+ increases the limit of MAXLINEANIMS, however it is only used for scrolling texture walls, it is not used anywhere else for any other reason.