Author: post
Date: 2010-11-25 20:52:42 +0100 (Thu, 25 Nov 2010)
New Revision: 3632
Modified:
trunk/plugins/dcp/dcp.c
Log:
Avoid heap corruption on partial images.
Modified: trunk/plugins/dcp/dcp.c
===================================================================
--- trunk/plugins/dcp/dcp.c 2010-11-18 22:22:22 UTC (rev 3631)
+++ trunk/plugins/dcp/dcp.c 2010-11-25 19:52:42 UTC (rev 3632)
@@ -508,10 +508,11 @@
/* Align so we start at even pixel counts */
roi->width += (roi->x&1);
roi->x -= (roi->x&1);
+ roi->width = MIN(input->w - roi->x, roi->width);
output = rs_image16_copy(input, FALSE);
tmp = rs_image16_new_subframe(output, roi);
bit_blt((char*)GET_PIXEL(tmp,0,0), tmp->rowstride * 2,
- (const char*)GET_PIXEL(input,roi->x,roi->y),
input->rowstride * 2, tmp->rowstride * 2, tmp->h);
+ (const char*)GET_PIXEL(input,roi->x,roi->y),
input->rowstride * 2, tmp->w * tmp->pixelsize * 2, tmp->h);
}
else
{
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit