| Index: src/ltsh.cc
|
| diff --git a/src/ltsh.cc b/src/ltsh.cc
|
| index 9145527dc745ed670a78053bf9f67c03f4dba950..16700daa7ab33cd2120648af5d051e48b9a223a9 100644
|
| --- a/src/ltsh.cc
|
| +++ b/src/ltsh.cc
|
| @@ -61,12 +61,13 @@ bool ots_ltsh_should_serialise(OpenTypeFile *file) {
|
|
|
| bool ots_ltsh_serialise(OTSStream *out, OpenTypeFile *file) {
|
| const OpenTypeLTSH *ltsh = file->ltsh;
|
| -
|
| - if (!out->WriteU16(ltsh->version) ||
|
| - !out->WriteU16(ltsh->ypels.size())) {
|
| + const uint16_t num_ypels = static_cast<uint16_t>(ltsh->ypels.size());
|
| + if (num_ypels != ltsh->ypels.size() ||
|
| + !out->WriteU16(ltsh->version) ||
|
| + !out->WriteU16(num_ypels)) {
|
| return OTS_FAILURE();
|
| }
|
| - for (unsigned i = 0; i < ltsh->ypels.size(); ++i) {
|
| + for (uint16_t i = 0; i < num_ypels; ++i) {
|
| if (!out->Write(&(ltsh->ypels[i]), 1)) {
|
| return OTS_FAILURE();
|
| }
|
|
|