diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 635bd7ee9..734c3a35a 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1301,7 +1301,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) M_Memcpy(netbuffer->u.serverinfo.mapmd5, mapmd5, 16); - if (*mapheaderinfo[gamemap-1]->lvlttl) + if (mapheaderinfo[gamemap-1] && *mapheaderinfo[gamemap-1]->lvlttl) { char *read = mapheaderinfo[gamemap-1]->lvlttl, *writ = netbuffer->u.serverinfo.maptitle; while (writ < (netbuffer->u.serverinfo.maptitle+32) && *read != '\0') @@ -1321,12 +1321,13 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.maptitle[32] = '\0'; - if (!(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE)) + if (mapheaderinfo[gamemap-1] && !(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE)) netbuffer->u.serverinfo.iszone = 1; else netbuffer->u.serverinfo.iszone = 0; - netbuffer->u.serverinfo.actnum = mapheaderinfo[gamemap-1]->actnum; + if (mapheaderinfo[gamemap-1]) + netbuffer->u.serverinfo.actnum = mapheaderinfo[gamemap-1]->actnum; p = PutFileNeeded(); diff --git a/src/dehacked.c b/src/dehacked.c index 40ba0abca..6b790016c 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -286,7 +286,7 @@ static void clear_levels(void) // we may as well try to save some memory, right? for (i = 0; i < NUMMAPS; ++i) { - if (!mapheaderinfo[i]) + if (!mapheaderinfo[i] || i == (tutorialmap-1)) continue; // Custom map header info