loadfont: 32k size limit is not enough
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 3 Nov 2016 19:57:37 +0000 (20:57 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 3 Nov 2016 19:57:37 +0000 (20:57 +0100)
Since our "read to malloced buf" routines only gradually grow
allocations, let's be generous here and allow 128k.

Reported by Alex Henrie <alexhenrie24@gmail.com>

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
console-tools/loadfont.c

index 032506d6da1396c3d8d6e9c21624b35abc701610..58073e0dc068c3a92fe8f25fe6d9a714db96ad0c 100644 (file)
@@ -319,8 +319,10 @@ int loadfont_main(int argc UNUSED_PARAM, char **argv)
         * We used to look at the length of the input file
         * with stat(); now that we accept compressed files,
         * just read the entire file.
+        * Len was 32k, but latarcyrheb-sun32.psfu is 34377 bytes
+        * (it has largish Unicode map).
         */
-       len = 32*1024; // can't be larger
+       len = 128*1024;
        buffer = xmalloc_read(STDIN_FILENO, &len);
        // xmalloc_open_zipped_read_close(filename, &len);
        if (!buffer)
@@ -405,7 +407,7 @@ int setfont_main(int argc UNUSED_PARAM, char **argv)
                }
        }
        // load font
-       len = 32*1024; // can't be larger
+       len = 128*1024;
        buffer = xmalloc_open_zipped_read_close(*argv, &len);
        if (!buffer)
                bb_simple_perror_msg_and_die(*argv);