Module Name: xsrc
Committed By: joerg
Date: Sun Aug 21 18:19:25 UTC 2016
Modified Files:
xsrc/external/mit/xf86-video-glint/dist/src: pm2_accel.c pm_accel.c
Log Message:
Avoid undefined behavior by left-shifting negative numbers.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
xsrc/external/mit/xf86-video-glint/dist/src/pm2_accel.c \
xsrc/external/mit/xf86-video-glint/dist/src/pm_accel.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xf86-video-glint/dist/src/pm2_accel.c
diff -u xsrc/external/mit/xf86-video-glint/dist/src/pm2_accel.c:1.1.1.2 xsrc/external/mit/xf86-video-glint/dist/src/pm2_accel.c:1.2
--- xsrc/external/mit/xf86-video-glint/dist/src/pm2_accel.c:1.1.1.2 Sun Jun 2 07:25:12 2013
+++ xsrc/external/mit/xf86-video-glint/dist/src/pm2_accel.c Sun Aug 21 18:19:25 2016
@@ -620,19 +620,19 @@ Permedia2SubsequentSolidBresenhamLine( S
if(dmaj == dmin) {
GLINT_WAIT(6);
if(octant & YDECREASING) {
- GLINT_WRITE_REG(-1<<16, dY);
+ GLINT_WRITE_REG(-65536, dY);
} else {
- GLINT_WRITE_REG(1<<16, dY);
+ GLINT_WRITE_REG(65536, dY);
}
if(octant & XDECREASING) {
- GLINT_WRITE_REG(-1<<16, dXDom);
+ GLINT_WRITE_REG(-65536, dXDom);
} else {
- GLINT_WRITE_REG(1<<16, dXDom);
+ GLINT_WRITE_REG(65536, dXDom);
}
- GLINT_WRITE_REG(x<<16, StartXDom);
- GLINT_WRITE_REG(y<<16, StartY);
+ GLINT_WRITE_REG(x * 65536, StartXDom);
+ GLINT_WRITE_REG(y * 65536, StartY);
GLINT_WRITE_REG(len,GLINTCount);
GLINT_WRITE_REG(PrimitiveLine, Render);
return;
Index: xsrc/external/mit/xf86-video-glint/dist/src/pm_accel.c
diff -u xsrc/external/mit/xf86-video-glint/dist/src/pm_accel.c:1.1.1.2 xsrc/external/mit/xf86-video-glint/dist/src/pm_accel.c:1.2
--- xsrc/external/mit/xf86-video-glint/dist/src/pm_accel.c:1.1.1.2 Sun Jun 2 07:25:12 2013
+++ xsrc/external/mit/xf86-video-glint/dist/src/pm_accel.c Sun Aug 21 18:19:25 2016
@@ -401,7 +401,7 @@ PermediaSubsequentScreenToScreenCopy(
if (!(pGlint->BltScanDirection & YPositive)) {
y1 = y1 + h - 1;
y2 = y2 + h - 1;
- direction = -1<<16;
+ direction = -65536;
} else {
direction = 1<<16;
}
@@ -1162,9 +1162,9 @@ PermediaSubsequentHorVertLine(ScrnInfoPt
GLINT_WAIT(7);
if (dir == DEGREES_0) {
- PermediaLoadCoord(pScrn, x<<16, y<<16, 0, len, 1<<16, 0);
+ PermediaLoadCoord(pScrn, x * 65536, y * 65536, 0, len, 1<<16, 0);
} else {
- PermediaLoadCoord(pScrn, x<<16, y<<16, 0, len, 0, 1<<16);
+ PermediaLoadCoord(pScrn, x * 65536, y * 65536, 0, len, 0, 1<<16);
}
GLINT_WRITE_REG(PrimitiveLine, Render);
@@ -1180,15 +1180,15 @@ PermediaSubsequentSolidBresenhamLine( Sc
if(dmaj == dmin) {
GLINT_WAIT(7);
if(octant & YDECREASING) {
- dy = -1<<16;
+ dy = -65536;
} else {
- dy = 1<<16;
+ dy = 65536;
}
if(octant & XDECREASING) {
- dxdom = -1<<16;
+ dxdom = -65536;
} else {
- dxdom = 1<<16;
+ dxdom = 65536;
}
PermediaLoadCoord(pScrn, x<<16, y<<16, 0, len, dxdom, dy);