Fossil SCM
Fix an off-by-one error in the version-3 clone protocol. This error might cause an incomplete and corrupt clone if a transfer block fills up just before sending the very last blob.
Commit
0db6f981bfc037ae7b153cca7e702713fa617e89
Parent
791fd2fd68a61e0…
1 file changed
+1
-1
+1
-1
| --- src/xfer.c | ||
| +++ src/xfer.c | ||
| @@ -1046,11 +1046,11 @@ | ||
| 1046 | 1046 | }else{ |
| 1047 | 1047 | send_file(&xfer, seqno, 0, 1); |
| 1048 | 1048 | } |
| 1049 | 1049 | seqno++; |
| 1050 | 1050 | } |
| 1051 | - if( seqno>=max ) seqno = 0; | |
| 1051 | + if( seqno>max ) seqno = 0; | |
| 1052 | 1052 | @ clone_seqno %d(seqno) |
| 1053 | 1053 | }else{ |
| 1054 | 1054 | isClone = 1; |
| 1055 | 1055 | isPull = 1; |
| 1056 | 1056 | deltaFlag = 1; |
| 1057 | 1057 |
| --- src/xfer.c | |
| +++ src/xfer.c | |
| @@ -1046,11 +1046,11 @@ | |
| 1046 | }else{ |
| 1047 | send_file(&xfer, seqno, 0, 1); |
| 1048 | } |
| 1049 | seqno++; |
| 1050 | } |
| 1051 | if( seqno>=max ) seqno = 0; |
| 1052 | @ clone_seqno %d(seqno) |
| 1053 | }else{ |
| 1054 | isClone = 1; |
| 1055 | isPull = 1; |
| 1056 | deltaFlag = 1; |
| 1057 |
| --- src/xfer.c | |
| +++ src/xfer.c | |
| @@ -1046,11 +1046,11 @@ | |
| 1046 | }else{ |
| 1047 | send_file(&xfer, seqno, 0, 1); |
| 1048 | } |
| 1049 | seqno++; |
| 1050 | } |
| 1051 | if( seqno>max ) seqno = 0; |
| 1052 | @ clone_seqno %d(seqno) |
| 1053 | }else{ |
| 1054 | isClone = 1; |
| 1055 | isPull = 1; |
| 1056 | deltaFlag = 1; |
| 1057 |