summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xattrs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/xattrs.c b/xattrs.c
index 4867e6f5..9d4e3d62 100644
--- a/xattrs.c
+++ b/xattrs.c
@@ -979,6 +979,7 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
name = rxas[i].name;
if (XATTR_ABBREV(rxas[i])) {
+ int sum_len;
/* See if the fnamecmp version is identical. */
len = name_len = rxas[i].name_len;
if ((ptr = get_xattr_data(fnamecmp, name, &len, 1)) == NULL) {
@@ -997,8 +998,8 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
sum_init(-1, checksum_seed);
sum_update(ptr, len);
- sum_end(sum);
- if (memcmp(sum, rxas[i].datum + 1, MAX_DIGEST_LEN) != 0) {
+ sum_len = sum_end(sum);
+ if (memcmp(sum, rxas[i].datum + 1, sum_len) != 0) {
free(ptr);
goto still_abbrev;
}