1

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 の「隠し」データを持つクラスです。このコードがどのように失敗するかわかりません。

誰でも問題を見つけることができますか?

4

0 に答える 0