rdiff delta never ends

[email protected] Mon, 9 Jan 2006 12:17:09 +0100
Newsgroups gmane.network.librsync.general
Message-ID <[email protected]>
Hi

I have a signature file that make rdiff to loop on rs_scoop_input
infinitely. It works for all other cases but fails reproductibly with that
specific signature i can provide. This signature can be broken, but i
expected rdiff to tell it and not to never ends.

doing a:
rdiff --verbose delta sigloop  anyfile delta.txt

...
rdiff: (rs_scoop_advance) advance over 8 bytes from input buffer
rdiff: (rs_loadsig_add_sum) read in checksum: weak=0x9116fb84,
strong=774b076fda15d39c
rdiff: (rs_scoop_readahead) couldn't satisfy request for 4, scooping 0
bytes
rdiff: (rs_scoop_input) accepted 2 bytes from input to scoop
rdiff: (rs_infilebuf_fill) seen end of file on input
...
then it loops on
rdiff: (rs_scoop_readahead) data is present in the scoop and must be used
rdiff: (rs_scoop_input) accepted 0 bytes from input to scoop
rdiff: (rs_scoop_readahead) still have only 2 bytes in scoop
...

If i remove the two last bytes of signature it ends without error ( i
didn't check if delta result was correct ).
I tried it with librync 0.9.5 and 0.9.7 compiled under a debian linux.

Is that endless loop known ?




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click