- Make xdl_hash_record_with_whitespace stop hashing before the
eof when ignoring space change or space at eol on an incomplete
line.
Resolves issue with a final trailing space being included in the
hash on an incomplete line by treating the eof in the same fashion
as a newline.
Signed-off-by: Thell Fowler <redacted>
---
xdiff/xutils.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xdiff/xutils.c b/xdiff/xutils.c
index 04ad468..c6512a5 100644
--- a/xdiff/xutils.c
+++ b/xdiff/xutils.c
@@ -248,12 +248,12 @@ static unsigned long xdl_hash_record_with_whitespace(char const **data,
if (flags & XDF_IGNORE_WHITESPACE)
; /* already handled */
else if (flags & XDF_IGNORE_WHITESPACE_CHANGE
- && ptr[1] != '\n') {
+ && ptr[1] != '\n' && ptr + 1 < top) {
ha += (ha << 5);
ha ^= (unsigned long) ' ';
}
else if (flags & XDF_IGNORE_WHITESPACE_AT_EOL
- && ptr[1] != '\n') {
+ && ptr[1] != '\n' && ptr + 1 < top) {
while (ptr2 != ptr + 1) {
ha += (ha << 5);
ha ^= (unsigned long) *ptr2;--
1.6.4.176.g556a4