*
* Copyright 2010 Martin Westergaard Jørgensen <martinwj2005@gmail.com>
* Copyright 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>
- * Copyright 2010 James Nobis <frt@quelrod.net>
+ * Copyright 2010, 2011 James Nobis <frt@quelrod.net>
*
* This file is part of rcracki_mt.
*
long len = GetFileLen(pFileIndex);
fseek(pFileIndex, 0, SEEK_SET);
- m_pIndex = new unsigned char[len];
+ m_pIndex = new (nothrow) unsigned char[len];
+ if(m_pIndex == NULL) {
+ printf("Error allocating %ld MB memory for index in RTI2Reader::RTI2Reader()", len / (1024 * 1024));
+ exit(-2);
+ }
if(fread(m_pIndex, 1, len, pFileIndex) != (unsigned long)len)
{
printf("Error while reading index file");
fseek(m_pFile, 0, SEEK_SET);
if(len % m_chainsizebytes > 0)
{
- printf("Invalid filesize %ld\n", len);
+ printf("Invalid filesize %lu\n", len);
return;
}
}
-unsigned int RTI2Reader::GetChainsLeft()
+uint32 RTI2Reader::GetChainsLeft()
{
long len = GetFileLen(m_pFile);
return len / m_chainsizebytes - m_chainPosition;
while(true) // Fast forward to current position
{
+ /// XXX
// ALERT: Possible problem here if m_indexrowsizebytes > 1 as pNumChains is a unsigned char.
unsigned int NumChainsInRow = (unsigned int)*(pNumChains + indexRow * m_indexrowsizebytes);
if(m_indexrowsizebytes > 1)