Potential issue in libsvn_diff:diff_file.c:find_identical_prefix
From: Daniel Widenfalk <Daniel.Widenfalk_at_iar.se>
Date: Thu, 07 Jun 2012 11:06:25 +0200
First off: I'm sorry if I post this in the wrong way.
I've found a potential issue in the function "find_identical_prefix"
The faulty code looks like this:
diff_file.c:432 (as per 1.7.1, code identical to 1.7.5)
for (i = 1; i < file_len; i++)
The problem is that the 64-bit build I'm using (ColabNet) have
From looking at the disassembly I can deduce that
1) Data is truncated in the initial read-up to "chunk" and the compare
2) When the test fails it will back up delta by 8, not 4, resulting in
Rinse and repeat.
Are these a known issues?
In my case this results in an infinite loop on the following input
23 0a 23 20 54 68 69 73 20 70 72 6f 6a 65 63
I found this out when my svn-client spiraled into an infinite loop
This is an archived mail posted to the Subversion Dev mailing list.