堆栈cookie检测代码检测到基于堆栈的缓冲区溢出 - 已修复

时间:2013-02-13 10:05:56

标签: c++ image-processing buffer-overrun pixelate stack-based

所以我对这个用于像素化像素的程序有一些问题。一个问题是我得到一个“堆栈变量'pixArray'被破坏了”然后,当我在打破它后点击继续时会在标题中给出错误。

我不确定使用pastebin是否可以接受,但我会将其用于“短”帖子。

The Code

The Image Being Used

此外,当它贯穿时,所有像素化的正方形都是在正方形的左侧和顶部太短的一个像素。它只是在写入outFile时使用原始数据。如果你能弄清楚为什么会发生这种情况,你就会获得奖励积分。

最后,平均值似乎没有正确平均,因为您可以在运行程序后通过图像最右侧的方块看到。

任何这些问题的任何帮助将不胜感激。提前谢谢!

编辑:我对代码进行了整理,注释掉了使用pixArray的部分,以及在注释掉时修复问题的部分位于函数的底部,{ {1}}

getAveragesForRGB

编辑2:我现在运行得很顺利。万一有人因为无论的原因遇到了这个问题,这里有新的start = 0;//reset start number for(int row = 0; row < squareSize; row++) { if(row != 0) start = ((square * MAXROWS) / (MAXCOLS / squareSize)) + 1; stop = (((square + 1) * MAXROWS) / (MAXCOLS / squareSize)); for (int col = start; col < stop; col++) { //write each average into each piece of the array pixArray[row][col].red = redAvg; pixArray[row][col].green = greenAvg; pixArray[row][col].blue = blueAvg; } } ,我的所有问题都在这里。

getAveragesForRGB

0 个答案:

没有答案