diff --git a/src/restore.c b/src/restore.c index b11c31793..2b5a8fccb 100644 --- a/src/restore.c +++ b/src/restore.c @@ -1057,8 +1057,10 @@ getlev(NHFILE *nhfp, int pid, xint8 lev) Mread(nhfp->fd, &gu.updest, sizeof gu.updest); Mread(nhfp->fd, &gd.dndest, sizeof gd.dndest); Mread(nhfp->fd, &gl.level.flags, sizeof gl.level.flags); - if (gd.doors) + if (gd.doors) { free(gd.doors); + gd.doors = 0; + } Mread(nhfp->fd, &gd.doors_alloc, sizeof gd.doors_alloc); if (gd.doors_alloc) { /* avoid pointless alloc(0) */ gd.doors = (coord *) alloc(gd.doors_alloc * sizeof (coord));