blob: 65df1052ad85be7b8ee6c9920399cade66b94827 (
plain) (
tree)
|
|
/* See LICENSE file for copyright and license details. */
#include "common.h"
int
libparsesfnt_parse_fpgm(
const char *data, size_t size,
uint8_t *programp,
const struct libparsesfnt_tabdir_entry *tag,
size_t first, size_t count)
{
if (count > SIZE_MAX - first) {
errno = EFBIG;
return -1;
}
if (tag->offset < size || first + count > size - tag->offset) {
errno = EBFONT;
return -1;
}
memcpy(programp, &data[tag->offset + first], count - first);
return 0;
}
|