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
Make sure that do_cmd() doesn't overflow its arg-pointer array
[rsync/rsync.git]
/
checksum.c
diff --git
a/checksum.c
b/checksum.c
index
7484ca5
..
ce30e72
100644
(file)
--- a/
checksum.c
+++ b/
checksum.c
@@
-23,8
+23,8
@@
int csum_length=2; /* initial value */
#define CSUM_CHUNK 64
#define CSUM_CHUNK 64
-
int checksum_seed = 0
;
-extern int
remote
_version;
+
extern int checksum_seed
;
+extern int
protocol
_version;
/*
a simple 32 bit checksum that can be upadted from either end
/*
a simple 32 bit checksum that can be upadted from either end
@@
-58,7
+58,7
@@
void get_checksum2(char *buf,int len,char *sum)
if (len > len1) {
if (buf1) free(buf1);
if (len > len1) {
if (buf1) free(buf1);
- buf1 =
(char *)malloc(
len+4);
+ buf1 =
new_array(char,
len+4);
len1 = len;
if (!buf1) out_of_memory("get_checksum2");
}
len1 = len;
if (!buf1) out_of_memory("get_checksum2");
}
@@
-80,7
+80,7
@@
void get_checksum2(char *buf,int len,char *sum)
* are multiples of 64. This is fixed by calling mdfour_update()
* even when there are no more bytes.
*/
* are multiples of 64. This is fixed by calling mdfour_update()
* even when there are no more bytes.
*/
- if (len - i > 0 ||
remote
_version >= 27) {
+ if (len - i > 0 ||
protocol
_version >= 27) {
mdfour_update(&m, (uchar *)(buf1+i), (len-i));
}
mdfour_update(&m, (uchar *)(buf1+i), (len-i));
}
@@
-120,7
+120,7
@@
void file_checksum(char *fname,char *sum,OFF_T size)
if (len - i > 0) {
memcpy(tmpchunk, map_ptr(buf,i,len-i), len-i);
}
if (len - i > 0) {
memcpy(tmpchunk, map_ptr(buf,i,len-i), len-i);
}
- if (len - i > 0 ||
remote
_version >= 27) {
+ if (len - i > 0 ||
protocol
_version >= 27) {
mdfour_update(&m, (uchar *)tmpchunk, (len-i));
}
mdfour_update(&m, (uchar *)tmpchunk, (len-i));
}
@@
-135,13
+135,13
@@
static int sumresidue;
static char sumrbuf[CSUM_CHUNK];
static struct mdfour md;
static char sumrbuf[CSUM_CHUNK];
static struct mdfour md;
-void sum_init(
voi
d)
+void sum_init(
int see
d)
{
char s[4];
mdfour_begin(&md);
{
char s[4];
mdfour_begin(&md);
- sumresidue
=
0;
- SIVAL(s,
0,checksum_
seed);
- sum_update(s,4);
+ sumresidue
=
0;
+ SIVAL(s,
0,
seed);
+ sum_update(s,
4);
}
/**
}
/**
@@
-184,7
+184,7
@@
void sum_update(char *p, int len)
void sum_end(char *sum)
{
void sum_end(char *sum)
{
- if (sumresidue ||
remote
_version >= 27) {
+ if (sumresidue ||
protocol
_version >= 27) {
mdfour_update(&md, (uchar *)sumrbuf, sumresidue);
}
mdfour_update(&md, (uchar *)sumrbuf, sumresidue);
}