--- ../subversion-1.7.8.org/subversion/libsvn_diff/diff_file.c	2012-07-22 17:50:30.000000000 +0900
+++ subversion/libsvn_diff/diff_file.c	2012-12-24 22:43:04.000000000 +0900
@@ -850,8 +850,10 @@
   /* Stop when we encounter the identical suffix. If suffix scanning was not
    * performed, suffix_start_chunk will be -1, so this condition will never
    * be true. */
-  if (file->chunk == file->suffix_start_chunk
-      && curp - file->buffer == file->suffix_offset_in_chunk)
+  if ((file->chunk == file->suffix_start_chunk
+       && curp - file->buffer == file->suffix_offset_in_chunk)
+      || (file->chunk + 1 == file->suffix_start_chunk
+          && curp == endp && file->suffix_offset_in_chunk == 0))
     return SVN_NO_ERROR;
 
   /* Allocate a new token, or fetch one from the "reusable tokens" list. */
