Page MenuHomeFreeBSD

D17096.id47859.diff
No OneTemporary

D17096.id47859.diff

Index: lib/geom/eli/geom_eli.c
===================================================================
--- lib/geom/eli/geom_eli.c
+++ lib/geom/eli/geom_eli.c
@@ -937,9 +937,11 @@
/* Backupfile given by the user, just copy it. */
strlcpy(backfile, str, sizeof(backfile));
- /* Make the backup filename unique if multiple providers
- * initialized in one command. */
- if (nargs > 1) {
+ /* If multiple providers have been initialized in one
+ * command, and the backup filename has been specified
+ * as anything other than "none", make the backup
+ * filename unique for each provider. */
+ if (nargs > 1 && strcmp(backfile, "none") != 0) {
/*
* Replace first occurrence of "PROV" with
* provider name.
@@ -999,11 +1001,13 @@
gctl_free(r);
/*
- * Erase sensitive data from memory, and ensure subsequent
- * providers are initialized with unique metadata.
+ * Erase sensitive and provider specific data from memory.
*/
explicit_bzero(key, sizeof(key));
- explicit_bzero(&md, sizeof(md));
+ explicit_bzero(&md.md_provsize, sizeof(md.md_provsize));
+ explicit_bzero(&md.md_sectorsize, sizeof(md.md_sectorsize));
+ explicit_bzero(&md.md_salt, sizeof(md.md_salt));
+ explicit_bzero(&md.md_mkeys, sizeof(md.md_mkeys));
}
/* Clear the cached metadata, including keys. */

File Metadata

Mime Type
text/plain
Expires
Tue, May 19, 12:30 AM (8 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33280026
Default Alt Text
D17096.id47859.diff (1 KB)

Event Timeline