void *Mem_ExpandableArray_AllocRecordAtIndex(memexpandablearray_t *l, size_t index)
{
size_t j;
- if (index == l->numarrays)
+ if (index >= l->numarrays)
{
if (l->numarrays == l->maxarrays)
{
char* Mem_strdup (mempool_t *pool, const char* s)
{
char* p;
- size_t sz = strlen (s) + 1;
- if (s == NULL) return NULL;
+ size_t sz;
+ if (s == NULL)
+ return NULL;
+ sz = strlen (s) + 1;
p = (char*)Mem_Alloc (pool, sz);
strlcpy (p, s, sz);
return p;
Cvar_SetValueQuick(&sys_memsize_virtual, 8388608);
// then improve
status.dwLength = sizeof(status);
- if(!GlobalMemoryStatusEx(&status))
+ if(GlobalMemoryStatusEx(&status))
{
Cvar_SetValueQuick(&sys_memsize_physical, status.ullTotalPhys / 1048576.0);
Cvar_SetValueQuick(&sys_memsize_virtual, min(sys_memsize_virtual.value, status.ullTotalVirtual / 1048576.0));