Author: Jaroslav Škarvada Description: Fix more crashes on oversized fonts Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909 Index: t1lib-5.1.2/lib/type1/lines.c =================================================================== --- t1lib-5.1.2.orig/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600 +++ t1lib-5.1.2/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600 @@ -67,6 +67,10 @@ None. */ +#define BITS (sizeof(LONG)*8) +#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */ +#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy)) + /* :h2.StepLine() - Produces Run Ends for a Line After Checks @@ -84,6 +88,9 @@ IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n", x1, y1, x2, y2); + if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2)) + abort("Lines
aboutsummaryrefslogtreecommitdiff
path: root/hydra.gnu.org.pub
blob: 6db597ed4d05e9b615e0d8bc95a84cdef904a564 (about) (plain)
1
2
3
4
5
6
 (public-key 
  (rsa 
   (n #00DB1634E3D9DFAC97AE4734DAE968CCB15EE4815C82BDC254883DBB49FE1EF32268E82D4BBE0E35298C481C9DA1551642FAFF05AEC1A60712F1BB4BE7D25D7EFF7A4F89704A5A9AC232870CB9F2476C3B538A0E990A8825DEB73081D317001FB8A188600F2FEF5F5F570E857F3EE4355077A3C3918ED72723A56BA55C466D400658974D7DAD1F6B7B63C192B9C2704D98BBFF1C3BD5B8EF11A8ADC83ACB8FD8E9F1E792FDAD262415D13F2DEE55F330908CFDA9C3C8C32B64F7DD088457D34F445E2E2C83C6D680549DC9B6E6573B89496567204ED285E67A279F2F667080BA941D80D015CE87B0FB6A91A99CECC7D91D2D210B00E4B6E611DA51DB008F1DFE3FCAC6B27393FA781D45F9A15FC7B8785A3E86BA6592B2916CA22CF1E40FC85F85CACA590461154F58F3580B16398908EF32076F411299C28727C94D88B6A618F84DD73AEBED8270BCB6690928CB1BF250C35E1F6BF3B1B30D05BA246ECE8F69D9065DE26F4B3E0D814D70A9C27CB5B7B050C9090590D3A9EF83374F2643E5446FBD39DDB124DBF6DFDAA6D18E2560AD0CBFA11C959C9B7316BF19963A191967054E9FD97DC14D71082B30B1C90A46E8996682474C3BCB51BA0882958897B6DD35E41B5174D0A6BCDE97B89043E95BD1B70DE61DA666893B417196A180005466BC3A742FDF04E89B04460E3E6BC72E7F1B5FEA5B3092FEE551A3C447C12E104E65#)
   (e #010001#)
   )
  )
: No previous point!"); /* save nummppoints and reset to move point */ tmpind = numppoints; numppoints = i + 1; @@ -1905,7 +1909,7 @@ FindStems( currx, curry, 0, 0, dx, dy); } else { - if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n"); + if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n"); FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy); } @@ -2155,6 +2159,7 @@ DOUBLE cx, cy; DOUBLE ex, ey; + if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!"); /* Our PPOINT list now contains 7 moveto commands which are about to be consumed by the Flex mechanism. --> Remove these @@ -2324,6 +2329,7 @@ /* Returns currentpoint on stack */ static void FlxProc2() { + if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!"); /* Push CurrentPoint on fake PostScript stack */ PSFakePush( ppoints[numppoints-1].x); PSFakePush( ppoints[numppoints-1].y);