Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Renamed sum_table -> hash_table.
[rsync/rsync.git]
/
io.c
diff --git
a/io.c
b/io.c
index
b4c552b
..
475ac40
100644
(file)
--- a/
io.c
+++ b/
io.c
@@
-41,7
+41,6
@@
extern int bwlimit;
extern size_t bwlimit_writemax;
extern int bwlimit;
extern size_t bwlimit_writemax;
-extern int verbose;
extern int io_timeout;
extern int allowed_lull;
extern int am_server;
extern int io_timeout;
extern int allowed_lull;
extern int am_server;
@@
-339,8
+338,7
@@
static void read_msg_fd(void)
void increment_active_files(int ndx, int itemizing, enum logcode code)
{
/* TODO: tune these limits? */
void increment_active_files(int ndx, int itemizing, enum logcode code)
{
/* TODO: tune these limits? */
- while (active_filecnt >= 10
- && (active_bytecnt >= 128*1024 || active_filecnt >= 50)) {
+ while (active_filecnt >= (active_bytecnt >= 128*1024 ? 10 : 50)) {
if (hlink_list.head)
check_for_finished_hlinks(itemizing, code);
read_msg_fd();
if (hlink_list.head)
check_for_finished_hlinks(itemizing, code);
read_msg_fd();
@@
-950,6
+948,11
@@
int read_vstring(int f, char *buf, int bufsize)
void read_sum_head(int f, struct sum_struct *sum)
{
sum->count = read_int(f);
void read_sum_head(int f, struct sum_struct *sum)
{
sum->count = read_int(f);
+ if (sum->count < 0) {
+ rprintf(FERROR, "Invalid checksum count %ld [%s]\n",
+ (long)sum->count, who_am_i());
+ exit_cleanup(RERR_PROTOCOL);
+ }
sum->blength = read_int(f);
if (sum->blength < 0 || sum->blength > MAX_BLOCK_SIZE) {
rprintf(FERROR, "Invalid block length %ld [%s]\n",
sum->blength = read_int(f);
if (sum->blength < 0 || sum->blength > MAX_BLOCK_SIZE) {
rprintf(FERROR, "Invalid block length %ld [%s]\n",
@@
-1012,7
+1015,7
@@
static void sleep_for_bwlimit(int bytes_written)
#define ONE_SEC 1000000L /* # of microseconds in a second */
#define ONE_SEC 1000000L /* # of microseconds in a second */
- if (!bwlimit)
+ if (!bwlimit
_writemax
)
return;
total_written += bytes_written;
return;
total_written += bytes_written;
@@
-1092,7
+1095,7
@@
static void writefd_unbuffered(int fd,char *buf,size_t len)
continue;
n = len - total;
continue;
n = len - total;
- if (bwlimit && n > bwlimit_writemax)
+ if (bwlimit
_writemax
&& n > bwlimit_writemax)
n = bwlimit_writemax;
cnt = write(fd, buf + total, n);
n = bwlimit_writemax;
cnt = write(fd, buf + total, n);