View | Details | Raw Unified | Return to bug 49296
Collapse All | Expand All

(-)lib/font/fontfile/fontfile.c.bak (-14 / +23 lines)
Lines 341-347 FontFileOpenFont (pointer client, FontPa Link Here
341
	entry = FontFileFindNameInScalableDir (&dir->scalable, &tmpName, &vals);
341
	entry = FontFileFindNameInScalableDir (&dir->scalable, &tmpName, &vals);
342
	if (entry)
342
	if (entry)
343
	{
343
	{
344
	    strcpy(lowerName, entry->name.name);
344
	    strncpy(lowerName, entry->name.name, sizeof(lowerName)-1);
345
           lowerName[sizeof(lowerName)-1] = '\0';
345
	    tmpName.name = lowerName;
346
	    tmpName.name = lowerName;
346
	    tmpName.length = entry->name.length;
347
	    tmpName.length = entry->name.length;
347
	    tmpName.ndashes = entry->name.ndashes;
348
	    tmpName.ndashes = entry->name.ndashes;
Lines 424-431 FontFileOpenFont (pointer client, FontPa Link Here
424
		    vals.ranges = ranges;
425
		    vals.ranges = ranges;
425
		    vals.nranges = nranges;
426
		    vals.nranges = nranges;
426
427
427
		    strcpy (fileName, dir->directory);
428
        strncpy (fileName, dir->directory, sizeof(fileName)-1);
428
		    strcat (fileName, scalable->fileName);
429
        fileName[sizeof(fileName)-1] = '\0';
430
        strncat (fileName, scalable->fileName, sizeof(fileName)-strlen(fileName)-1);
429
		    ret = (*scalable->renderer->OpenScalable) (fpe, pFont,
431
		    ret = (*scalable->renderer->OpenScalable) (fpe, pFont,
430
			   flags, entry, fileName, &vals, format, fmask,
432
			   flags, entry, fileName, &vals, format, fmask,
431
			   non_cachable_font);
433
			   non_cachable_font);
Lines 497-504 FontFileOpenBitmapNCF (FontPathElementPt Link Here
497
499
498
    dir = (FontDirectoryPtr) fpe->private;
500
    dir = (FontDirectoryPtr) fpe->private;
499
    bitmap = &entry->u.bitmap;
501
    bitmap = &entry->u.bitmap;
500
    strcpy (fileName, dir->directory);
502
    strncpy (fileName, dir->directory, sizeof(fileName)-1);
501
    strcat (fileName, bitmap->fileName);
503
    fileName[sizeof(fileName)-1] = '\0';
504
    strncat (fileName, scalable->fileName, sizeof(fileName)-strlen(fileName)-1);
502
    ret = (*bitmap->renderer->OpenBitmap) 
505
    ret = (*bitmap->renderer->OpenBitmap) 
503
			(fpe, pFont, flags, entry, fileName, format, fmask,
506
			(fpe, pFont, flags, entry, fileName, format, fmask,
504
			 non_cachable_font);
507
			 non_cachable_font);
Lines 530-537 FontFileGetInfoBitmap (FontPathElementPt Link Here
530
533
531
    dir = (FontDirectoryPtr) fpe->private;
534
    dir = (FontDirectoryPtr) fpe->private;
532
    bitmap = &entry->u.bitmap;
535
    bitmap = &entry->u.bitmap;
533
    strcpy (fileName, dir->directory);
536
    strncpy (fileName, dir->directory, sizeof(fileName)-1);
534
    strcat (fileName, bitmap->fileName);
537
    fileName[sizeof(fileName)-1] = '\0';
538
    strncat (fileName, scalable->fileName, sizeof(fileName)-strlen(fileName)-1);
535
    ret = (*bitmap->renderer->GetInfoBitmap) (fpe, pFontInfo, entry, fileName);
539
    ret = (*bitmap->renderer->GetInfoBitmap) (fpe, pFontInfo, entry, fileName);
536
    return ret;
540
    return ret;
537
}
541
}
Lines 556-562 _FontFileAddScalableNames(FontNamesPtr n Link Here
556
	{
560
	{
557
	    --*max;
561
	    --*max;
558
562
559
	    strcpy (nameChars, scaleNames->names[i]);
563
	    strncpy (nameChars, scaleNames->names[i], sizeof(nameChars)-1);
564
           nameChars[sizeof(nameChars)-1] = '\0';
560
	    if ((vals->values_supplied & PIXELSIZE_MASK) ||
565
	    if ((vals->values_supplied & PIXELSIZE_MASK) ||
561
		!(vals->values_supplied & PIXELSIZE_WILDCARD) ||
566
		!(vals->values_supplied & PIXELSIZE_WILDCARD) ||
562
		vals->y == 0)
567
		vals->y == 0)
Lines 659-665 _FontFileListFonts (pointer client, Font Link Here
659
		    int mark_aliases)
664
		    int mark_aliases)
660
{
665
{
661
    FontDirectoryPtr	dir;
666
    FontDirectoryPtr	dir;
662
    char		lowerChars[MAXFONTNAMELEN], zeroChars[MAXFONTNAMELEN];
667
    char		lowerChars[MAXFONTNAMELEN] = {0}, zeroChars[MAXFONTNAMELEN] = {0};
663
    FontNameRec		lowerName;
668
    FontNameRec		lowerName;
664
    FontNameRec		zeroName;
669
    FontNameRec		zeroName;
665
    FontNamesPtr	scaleNames;
670
    FontNamesPtr	scaleNames;
Lines 679-685 _FontFileListFonts (pointer client, Font Link Here
679
684
680
    /* Match XLFD patterns */
685
    /* Match XLFD patterns */
681
686
682
    strcpy (zeroChars, lowerChars);
687
    strncpy (zeroChars, lowerChars, sizeof(zeroChars)-1);
688
    zeroChars[sizeof(zeroChars)-1] = '\0';
689
    
683
    if (lowerName.ndashes == 14 &&
690
    if (lowerName.ndashes == 14 &&
684
	FontParseXLFDName (zeroChars, &vals, FONT_XLFD_REPLACE_ZERO))
691
	FontParseXLFDName (zeroChars, &vals, FONT_XLFD_REPLACE_ZERO))
685
    {
692
    {
Lines 891-898 FontFileListOneFontWithInfo (pointer cli Link Here
891
		    vals.ranges = FontParseRanges(origName, &vals.nranges);
898
		    vals.ranges = FontParseRanges(origName, &vals.nranges);
892
		    ranges = vals.ranges;
899
		    ranges = vals.ranges;
893
		    /* Make a new scaled instance */
900
		    /* Make a new scaled instance */
894
	    	    strcpy (fileName, dir->directory);
901
	    	    strncpy (fileName, dir->directory, sizeof(fileName)-1);
895
	    	    strcat (fileName, scalable->fileName);
902
                   fileName[sizeof(fileName)-1] = '\0';
903
	    	    strncat (fileName, scalable->fileName, sizeof(fileName)-strlen(fileName)-1);
896
	    	    ret = (*scalable->renderer->GetInfoScalable)
904
	    	    ret = (*scalable->renderer->GetInfoScalable)
897
			(fpe, *pFontInfo, entry, &tmpName, fileName, &vals);
905
			(fpe, *pFontInfo, entry, &tmpName, fileName, &vals);
898
		    if (ranges) xfree(ranges);
906
		    if (ranges) xfree(ranges);
Lines 931-938 FontFileListOneFontWithInfo (pointer cli Link Here
931
	    bc = &entry->u.bc;
939
	    bc = &entry->u.bc;
932
	    entry = bc->entry;
940
	    entry = bc->entry;
933
	    /* Make a new scaled instance */
941
	    /* Make a new scaled instance */
934
    	    strcpy (fileName, dir->directory);
942
	    strncpy (fileName, dir->directory, sizeof(fileName)-1);
935
    	    strcat (fileName, scalable->fileName);
943
           fileName[sizeof(fileName)-1] = '\0';
944
	    strncat (fileName, scalable->fileName, sizeof(fileName)-strlen(fileName)-1);
936
	    ret = (*scalable->renderer->GetInfoScalable)
945
	    ret = (*scalable->renderer->GetInfoScalable)
937
		    (fpe, *pFontInfo, entry, tmpName, fileName, &bc->vals);
946
		    (fpe, *pFontInfo, entry, tmpName, fileName, &bc->vals);
938
	    break;
947
	    break;

Return to bug 49296