diff options
Diffstat (limited to 'libass/ass_fontselect.c')
-rw-r--r-- | libass/ass_fontselect.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c index dc143c4..02d0bc4 100644 --- a/libass/ass_fontselect.c +++ b/libass/ass_fontselect.c @@ -145,6 +145,12 @@ get_data_embedded(void *data, unsigned char *buf, size_t offset, size_t len) if (buf == NULL) return fd[i].size; + if (offset >= fd[i].size) + return 0; + + if (len > fd[i].size - offset) + len = fd[i].size - offset; + memcpy(buf, fd[i].data + offset, len); return len; } |