comparison tools/gfxconv.c @ 2533:78ece6187a7c

Make sure we won't access DMC64Image::extraData[] indices out of bounds when dumping memory blocks.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 12 Jul 2020 01:01:37 +0300
parents f3be70c19ce9
children c6ee41fd98dd
comparison
equal deleted inserted replaced
2532:f3be70c19ce9 2533:78ece6187a7c
1763 for (int i = 0; i < img->nblocks; i++) 1763 for (int i = 0; i < img->nblocks; i++)
1764 { 1764 {
1765 res = dmDumpC64Block(fprefix, "bitmap", &img->bitmap[i], i); 1765 res = dmDumpC64Block(fprefix, "bitmap", &img->bitmap[i], i);
1766 res = dmDumpC64Block(fprefix, "color", &img->color[i], i); 1766 res = dmDumpC64Block(fprefix, "color", &img->color[i], i);
1767 res = dmDumpC64Block(fprefix, "screen", &img->screen[i], i); 1767 res = dmDumpC64Block(fprefix, "screen", &img->screen[i], i);
1768 res = dmDumpC64Block(fprefix, "extradata", &img->extraData[i], i);
1769 res = dmDumpC64Block(fprefix, "chardata", &img->charData[i], i); 1768 res = dmDumpC64Block(fprefix, "chardata", &img->charData[i], i);
1769
1770 if ((size_t) i < sizeof(img->extraData) / sizeof(img->extraData[0]))
1771 res = dmDumpC64Block(fprefix, "extradata", &img->extraData[i], i);
1770 } 1772 }
1771 1773
1772 return res; 1774 return res;
1773 } 1775 }
1774 1776