diff options
author | markus <markus@FreeBSD.org> | 2007-12-11 19:49:40 +0000 |
---|---|---|
committer | markus <markus@FreeBSD.org> | 2007-12-11 19:49:40 +0000 |
commit | 042cca2ff9a2db59d4fd924f4d6e126e57b0d905 (patch) | |
tree | 109c750e253999b87fb9be4b162318f9925144cb /sys/fs/udf/udf_vfsops.c | |
parent | 1056a75218a76136f6bd5c7ba2c150d9fdc165c2 (diff) | |
download | FreeBSD-src-042cca2ff9a2db59d4fd924f4d6e126e57b0d905.zip FreeBSD-src-042cca2ff9a2db59d4fd924f4d6e126e57b0d905.tar.gz |
Fix calculation of descriptor tag checksums. According to ECMA-167, Part 4,
7.2.3, bytes 0-3 and 5-15 are used to calculate the checksum of a descriptor
tag.
PR: kern/90521
Submitted by: Björn König <bkoenig@cs.tu-berlin.de>
Reviewed by: scottl
Approved by: emax (mentor)
Diffstat (limited to 'sys/fs/udf/udf_vfsops.c')
-rw-r--r-- | sys/fs/udf/udf_vfsops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c index 59fc449..36984d3 100644 --- a/sys/fs/udf/udf_vfsops.c +++ b/sys/fs/udf/udf_vfsops.c @@ -290,7 +290,7 @@ udf_checktag(struct desc_tag *tag, uint16_t id) if (le16toh(tag->id) != id) return (EINVAL); - for (i = 0; i < 15; i++) + for (i = 0; i < 16; i++) cksum = cksum + itag[i]; cksum = cksum - itag[4]; |