[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Tue Jan 8 22:55:48 UTC 2019
The branch, master has been updated
via c3761706 Make sure that some memory zeroing always happens.
from 48163179 Avoid a yodl macro warning.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit c37617064494ecc2da52f2da97aa8768f75f247f
Author: Wayne Davison <wayned at samba.org>
Date: Tue Jan 8 14:46:41 2019 -0800
Make sure that some memory zeroing always happens.
-----------------------------------------------------------------------
Summary of changes:
authenticate.c | 8 ++++----
fileio.c | 4 +++-
util.c | 8 ++++++++
3 files changed, 15 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/authenticate.c b/authenticate.c
index eca5baf1..8534a0b2 100644
--- a/authenticate.c
+++ b/authenticate.c
@@ -162,8 +162,8 @@ static const char *check_secret(int module, const char *user, const char *group,
fclose(fh);
- memset(line, 0, sizeof line);
- memset(pass2, 0, sizeof pass2);
+ force_memzero(line, sizeof line);
+ force_memzero(pass2, sizeof pass2);
return err;
}
@@ -318,8 +318,8 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
err = check_secret(module, line, group, challenge, pass);
}
- memset(challenge, 0, sizeof challenge);
- memset(pass, 0, strlen(pass));
+ force_memzero(challenge, sizeof challenge);
+ force_memzero(pass, strlen(pass));
if (auth_uid_groups) {
int j;
diff --git a/fileio.c b/fileio.c
index b183e200..3f55e708 100644
--- a/fileio.c
+++ b/fileio.c
@@ -322,7 +322,9 @@ int unmap_file(struct map_struct *map)
map->p = NULL;
}
ret = map->status;
- memset(map, 0, sizeof map[0]);
+#if 0 /* I don't think we really need this. */
+ force_memzero(map, sizeof map[0]);
+#endif
free(map);
return ret;
diff --git a/util.c b/util.c
index 72b3944f..fbbfd8ba 100644
--- a/util.c
+++ b/util.c
@@ -1682,3 +1682,11 @@ void *expand_item_list(item_list *lp, size_t item_size,
}
return (char*)lp->items + (lp->count++ * item_size);
}
+
+/* This zeroing of memory won't be optimized away by the compiler. */
+void force_memzero(void *buf, size_t len)
+{
+ volatile uchar *z = buf;
+ while (len-- > 0)
+ *z++ = '\0';
+}
--
The rsync repository.
More information about the rsync-cvs
mailing list