X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;ds=sidebyside;f=libexfat%2Futils.c;h=8b6aaf9c5a082ca0d71f7672f7a64997bb30e141;hb=53f063cdccd94026db252c1e7a4eeacdc75a4e0f;hp=3fd718ab56216468c59b6850ecd64e91b08b8cc1;hpb=42c4d13c2c262eece4a46692fc4b787ff33ed3d6;p=android-x86%2Fexternal-exfat.git diff --git a/libexfat/utils.c b/libexfat/utils.c index 3fd718a..8b6aaf9 100644 --- a/libexfat/utils.c +++ b/libexfat/utils.c @@ -85,7 +85,8 @@ le16_t exfat_calc_checksum(const struct exfat_entry_meta1* meta1, { struct exfat_entry_name name_entry = {EXFAT_ENTRY_FILE_NAME, 0}; memcpy(name_entry.name, name + i * EXFAT_ENAME_MAX, - EXFAT_ENAME_MAX * sizeof(le16_t)); + MIN(EXFAT_ENAME_MAX, EXFAT_NAME_MAX - i * EXFAT_ENAME_MAX) * + sizeof(le16_t)); checksum = exfat_add_checksum(&name_entry, checksum); } return cpu_to_le16(checksum);