limit number of map entities

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@4127 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
ac_stef
2009-01-12 15:19:12 +00:00
parent c98afd2311
commit 4bb129ee40
3 changed files with 12 additions and 4 deletions
+2 -2
View File
@@ -26,7 +26,7 @@ char *getregszvalue(HKEY root, const char *keystr, const char *query)
{
char *val = new char[len];
long result = RegQueryValueEx(key, query, 0, &type, (uchar *)val, &len);
if(result==ERROR_SUCCESS)
if(result==ERROR_SUCCESS)
{
RegCloseKey(key);
val[len-1] = '\0';
@@ -327,7 +327,7 @@ mapstats *loadmapstats(const char *filename)
memset(&s.hdr, 0, sizeof(header));
if(gzread(f, &s.hdr, sizeof(header)-sizeof(int)*16)!=sizeof(header)-sizeof(int)*16 || (strncmp(s.hdr.head, "CUBE", 4) && strncmp(s.hdr.head, "ACMP",4))) { gzclose(f); return NULL; }
endianswap(&s.hdr.version, sizeof(int), 4);
if(s.hdr.version>MAPVERSION || (s.hdr.version>=4 && gzread(f, &s.hdr.waterlevel, sizeof(int)*16)!=sizeof(int)*16)) { gzclose(f); return false; }
if(s.hdr.version>MAPVERSION || s.hdr.numents > MAXENTITIES || (s.hdr.version>=4 && gzread(f, &s.hdr.waterlevel, sizeof(int)*16)!=sizeof(int)*16)) { gzclose(f); return NULL; }
if(s.hdr.version>=4) endianswap(&s.hdr.waterlevel, sizeof(int), 1); else s.hdr.waterlevel = -100000;
entity e;
enttypes = new uchar[s.hdr.numents];