Buffer underrun in RGB denoise, Issue 2337. Could also fix 'Crash when creating detail window, Issue 2324' (Thanks to Hombre)

This commit is contained in:
Ingo
2014-04-09 23:59:26 +02:00
parent 51e80b8c03
commit 832c8b6c25
4 changed files with 11 additions and 3 deletions

View File

@@ -298,8 +298,8 @@ namespace rtengine {
dstLo[(pitch*(i))] = 0.5*(srcbuffer[i] + srcbuffer[i+skip]);
dstHi[(pitch*(i))] = 0.5*(srcbuffer[i] - srcbuffer[i+skip]);
}
for(size_t i = (srclen-skip); i < (srclen); i++) {
// Start the loop at max(srclen-skip,skip) to avoid buffer underrun
for(size_t i = max(srclen-skip,skip); i < (srclen); i++) {
dstLo[(pitch*(i))] = 0.5*(srcbuffer[i] + srcbuffer[i-skip]);
dstHi[(pitch*(i))] = 0.5*(srcbuffer[i] - srcbuffer[i-skip]);
}