diff options
author | Filippos Karapetis | 2010-12-19 16:16:25 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-12-19 16:16:25 +0000 |
commit | cc0b2b210fd0d9389c155e6c8aef67653e1882ee (patch) | |
tree | f6ef94ed91e8a63f0801a35b554bcefaef1c6970 /graphics | |
parent | 5e9002a4aaf8b96bd84c9f8964ce79bd6670a224 (diff) | |
download | scummvm-rg350-cc0b2b210fd0d9389c155e6c8aef67653e1882ee.tar.gz scummvm-rg350-cc0b2b210fd0d9389c155e6c8aef67653e1882ee.tar.bz2 scummvm-rg350-cc0b2b210fd0d9389c155e6c8aef67653e1882ee.zip |
GRAPHICS: Fixed code analysis warnings (bug #3087917)
svn-id: r54964
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/font.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/graphics/font.cpp b/graphics/font.cpp index 74247d4da1..359374436c 100644 --- a/graphics/font.cpp +++ b/graphics/font.cpp @@ -224,6 +224,11 @@ int bdf_read_header(Common::SeekableReadStream &fp, NewFontData* pf) { warning("Error: EOF on file"); return 0; } + + /* note: the way sscanf is used here ensures that a terminating null + character is automatically added. Refer to: + http://pubs.opengroup.org/onlinepubs/009695399/functions/fscanf.html */ + if (isprefix(buf, "FONT ")) { /* not required*/ if (sscanf(buf, "FONT %[^\n]", facename) != 1) { warning("Error: bad 'FONT'"); @@ -506,7 +511,11 @@ int bdf_read_bitmaps(Common::SeekableReadStream &fp, NewFontData* pf) { /* reallocate bits array to actual bits used*/ if (ofs < pf->bits_size) { - pf->bits = (bitmap_t *)realloc(pf->bits, ofs * sizeof(bitmap_t)); + bitmap_t *tmp = (bitmap_t *)realloc(pf->bits, ofs * sizeof(bitmap_t)); + if (tmp != NULL || ofs == 0) + pf->bits = tmp; + else + error("bdf_read_bitmaps: Error while reallocating memory"); pf->bits_size = ofs; } else { |