Fixed potential memory leak in class system.
This commit is contained in:
parent
1cc0fc4dda
commit
723038052e
@ -231,6 +231,9 @@ ClassMenuSelect(client, teamid)
|
||||
}
|
||||
}
|
||||
|
||||
// Destroy array.
|
||||
CloseHandle(classarray);
|
||||
|
||||
SetMenuExitBackButton(menu, true);
|
||||
DisplayMenu(menu, client, MENU_TIME_FOREVER);
|
||||
}
|
||||
|
@ -693,6 +693,7 @@ stock ClassGetRandomClass(teamfilter = -1, bool:ignoreEnabled = false, requirefl
|
||||
new Handle:classarray;
|
||||
new arraycount;
|
||||
new randnum;
|
||||
new buffer;
|
||||
|
||||
classarray = CreateArray();
|
||||
|
||||
@ -704,11 +705,14 @@ stock ClassGetRandomClass(teamfilter = -1, bool:ignoreEnabled = false, requirefl
|
||||
randnum = GetRandomInt(0, arraycount - 1);
|
||||
|
||||
// Return the value at the random index.
|
||||
return GetArrayCell(classarray, randnum);
|
||||
buffer = GetArrayCell(classarray, randnum);
|
||||
CloseHandle(classarray);
|
||||
return buffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Failed to get a random class.
|
||||
CloseHandle(classarray);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -808,6 +812,7 @@ stock ClassGetDefaultClass(teamid, bool:ignoreEnabled = false, requireflags = 0,
|
||||
if (!ClassAddToArray(classarray, teamid, ignoreEnabled, requireflags, denyflags, cachetype))
|
||||
{
|
||||
// Failed to get classes.
|
||||
CloseHandle(classarray);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -822,10 +827,12 @@ stock ClassGetDefaultClass(teamid, bool:ignoreEnabled = false, requireflags = 0,
|
||||
if (ClassGetTeamDefault(classindex, cachetype))
|
||||
{
|
||||
// Default class found.
|
||||
CloseHandle(classarray);
|
||||
return classindex;
|
||||
}
|
||||
}
|
||||
|
||||
CloseHandle(classarray);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -544,6 +544,9 @@ ClassLoad(bool:keepMultipliers = false)
|
||||
ConfigSetConfigReloadFunc(File_Classes, GetFunctionByName(GetMyHandle(), "ClassOnConfigReload"));
|
||||
// ConfigSetConfigHandle(File_Classes, INVALID_HANDLE);
|
||||
ConfigSetConfigPath(File_Classes, pathclasses);
|
||||
|
||||
// Remove key/value cache.
|
||||
CloseHandle(kvClassData);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user