summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/commands.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/commands.c b/src/commands.c
index 180f4e1..599c6d0 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -148,11 +148,19 @@ int changemap(FILE *map, char *mapname, demo *demo)
return -1;
fread(mapbuff, 1, mapsize, map);
+
+ if (memcmp(mapbuff, "DATA", 4) != 0)
+ {
+ free(mapbuff);
+ return -1;
+ }
free(demo->map.data);
demo->map.data = mapbuff;
- demo->header.version = 5;
+ if (demo->header.version >= 6)
+ demo->header.version = 5;
+
demo->header.mapsize = mapsize;
demo->header.mapcrc = mapsize;
memcpy(demo->header.mapname, mapname, namelen + 1);