缓冲区溢出; VS代码分析

时间:2013-03-20 20:15:36

标签: c++ visual-studio-2012

在VS 2012中启用静态代码分析时,以下代码会因缓冲区溢出而失败。

    SimulationData result = rri->getSimulationResult();

    //Extract the data and return struct..
    RRResult* aResult  = new RRResult;

    aResult->RSize = result.rSize();
    aResult->CSize = result.cSize();
    int size = aResult->RSize*aResult->CSize;
    aResult->Data = new double[size];

    int index = 0;
    //The data layout is simple row after row, in one single long row...
    for(int row = 0; row < aResult->RSize; row++)
    {
        for(int col = 0; col < aResult->CSize; col++)
        {
            aResult->Data[index++] = result(row, col); //Over run here! but how?
        }
    }

RRResult是一个结构,Data是一个双指针。 SimulationData是一个具有大小为rSize * cSize的“隐藏”数据的类。 我看不出这段代码怎么会失败。

有人能发现任何问题吗?

0 个答案:

没有答案