Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There were two issues: - file:pread() returns eof in the case when the length of the read is 0 bytes, for any offset. This causes badarg exceptions later in iolist_size when the 'eof' atom is encountered instead of a binary - The range-length computation is off by 1 for 0-length ranges: {Skip, Skip + Length - 1, PartialBody} would result in e.g. {0, -1, eof}. {0, -1} is invalid HTTP according to http://tools.ietf.org/html/rfc2616#section-14.16 A byte-content-range-spec with a byte-range-resp-spec whose last-byte-pos value is less than its first-byte-pos value, or whose instance-length value is less than or equal to its last-byte-pos value, is invalid. This patch fixes both issues.
- Loading branch information