X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8ce769cc52e91ff3cdb8eda4b1f5d8fe58241688..a36758a5018f6a3792c164cd2a313d4f61b7111e:/lunaix-os/kernel/fs/iso9660/directory.c diff --git a/lunaix-os/kernel/fs/iso9660/directory.c b/lunaix-os/kernel/fs/iso9660/directory.c index 71244a9..816f6eb 100644 --- a/lunaix-os/kernel/fs/iso9660/directory.c +++ b/lunaix-os/kernel/fs/iso9660/directory.c @@ -21,8 +21,10 @@ iso9660_fill_drecache(struct iso_drecache* cache, struct iso_drecord* drec) u32_t l = drec->name.len; while (l < (u32_t)-1 && drec->name.content[l--] != ';') ; - l = (l + 1) ? l : drec->name.len; - l = MIN(l, ISO9660_IDLEN); + l++; + l = l ? l : drec->name.len; + l = MIN(l, ISO9660_IDLEN - 1); + strncpy(cache->name_val, drec->name.content, l); cache->name = HSTR(cache->name_val, l); hstr_rehash(&cache->name, HSTR_FULL_HASH);