summaryrefslogtreecommitdiffstats
path: root/usr.bin/vtfontcvt
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2015-08-31 23:08:39 +0000
committeremaste <emaste@FreeBSD.org>2015-08-31 23:08:39 +0000
commitae7f4a44335890124005915d3f0c009faf4a236d (patch)
tree21f1517c52516e27730023b6418fe23e0314a7b3 /usr.bin/vtfontcvt
parent97c6fe6d1e7e96a9606a6c4226fdb981931caee7 (diff)
downloadFreeBSD-src-ae7f4a44335890124005915d3f0c009faf4a236d.zip
FreeBSD-src-ae7f4a44335890124005915d3f0c009faf4a236d.tar.gz
vtfontcvt: introduce xmalloc to abort on out-of-memory
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'usr.bin/vtfontcvt')
-rw-r--r--usr.bin/vtfontcvt/vtfontcvt.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/usr.bin/vtfontcvt/vtfontcvt.c b/usr.bin/vtfontcvt/vtfontcvt.c
index 07c3547..f2c69d2 100644
--- a/usr.bin/vtfontcvt/vtfontcvt.c
+++ b/usr.bin/vtfontcvt/vtfontcvt.c
@@ -96,6 +96,16 @@ usage(void)
exit(1);
}
+static void *
+xmalloc(size_t size)
+{
+ void *m;
+
+ if ((m = malloc(size)) == NULL)
+ errx(1, "memory allocation failure");
+ return (m);
+}
+
static int
add_mapping(struct glyph *gl, unsigned int c, unsigned int map_idx)
{
@@ -104,7 +114,7 @@ add_mapping(struct glyph *gl, unsigned int c, unsigned int map_idx)
mapping_total++;
- mp = malloc(sizeof *mp);
+ mp = xmalloc(sizeof *mp);
mp->m_char = c;
mp->m_glyph = gl;
mp->m_length = 0;
@@ -163,8 +173,8 @@ add_glyph(const uint8_t *bytes, unsigned int map_idx, int fallback)
}
}
- gl = malloc(sizeof *gl);
- gl->g_data = malloc(wbytes * height);
+ gl = xmalloc(sizeof *gl);
+ gl->g_data = xmalloc(wbytes * height);
memcpy(gl->g_data, bytes, wbytes * height);
if (fallback)
TAILQ_INSERT_HEAD(&glyphs[map_idx], gl, g_list);
OpenPOWER on IntegriCloud