aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/font/bitmap/pcfread.c
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:46:43 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:46:43 +0200
commit3d1c57d5ef429e51ab7a626540c30b81e74a8f17 (patch)
tree2589846dd73cb0a86156fc5f2575ea2373431a57 /nx-X11/lib/font/bitmap/pcfread.c
parent844a4094f098684dd1da5bc11e73479fb61373a3 (diff)
downloadnx-libs-8347302ad7f95e51a4ec9eae15936695fd6b393e.tar.gz
nx-libs-8347302ad7f95e51a4ec9eae15936695fd6b393e.tar.bz2
nx-libs-8347302ad7f95e51a4ec9eae15936695fd6b393e.zip
Imported nx-X11-3.1.0-4.tar.gznx-X11/3.1.0-4
Summary: Imported nx-X11-3.1.0-4.tar.gz Keywords: Imported nx-X11-3.1.0-4.tar.gz into Git repository
Diffstat (limited to 'nx-X11/lib/font/bitmap/pcfread.c')
-rw-r--r--nx-X11/lib/font/bitmap/pcfread.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/nx-X11/lib/font/bitmap/pcfread.c b/nx-X11/lib/font/bitmap/pcfread.c
index dd76868bf..75916dae8 100644
--- a/nx-X11/lib/font/bitmap/pcfread.c
+++ b/nx-X11/lib/font/bitmap/pcfread.c
@@ -565,6 +565,9 @@ pcfReadFont(FontPtr pFont, FontFilePtr file,
pFont->info.lastRow = pcfGetINT16(file, format);
pFont->info.defaultCh = pcfGetINT16(file, format);
if (IS_EOF(file)) goto Bail;
+ if (pFont->info.firstCol > pFont->info.lastCol ||
+ pFont->info.firstRow > pFont->info.lastRow ||
+ pFont->info.lastCol-pFont->info.firstCol > 255) goto Bail;
nencoding = (pFont->info.lastCol - pFont->info.firstCol + 1) *
(pFont->info.lastRow - pFont->info.firstRow + 1);
@@ -703,6 +706,9 @@ pcfReadFontInfo(FontInfoPtr pFontInfo, FontFilePtr file)
pFontInfo->lastRow = pcfGetINT16(file, format);
pFontInfo->defaultCh = pcfGetINT16(file, format);
if (IS_EOF(file)) goto Bail;
+ if (pFontInfo->firstCol > pFontInfo->lastCol ||
+ pFontInfo->firstRow > pFontInfo->lastRow ||
+ pFontInfo->lastCol-pFontInfo->firstCol > 255) goto Bail;
nencoding = (pFontInfo->lastCol - pFontInfo->firstCol + 1) *
(pFontInfo->lastRow - pFontInfo->firstRow + 1);