Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153835788
D14164.id38838.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D14164.id38838.diff
View Options
Index: sbin/geom/class/cache/geom_cache.c
===================================================================
--- sbin/geom/class/cache/geom_cache.c
+++ sbin/geom/class/cache/geom_cache.c
@@ -137,6 +137,7 @@
int error, nargs;
intmax_t val;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs != 2) {
gctl_error(req, "Invalid number of arguments.");
Index: sbin/geom/class/concat/geom_concat.c
===================================================================
--- sbin/geom/class/concat/geom_concat.c
+++ sbin/geom/class/concat/geom_concat.c
@@ -119,6 +119,7 @@
const char *name;
int error, i, hardcode, nargs;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs < 2) {
gctl_error(req, "Too few arguments.");
Index: sbin/geom/class/journal/geom_journal.c
===================================================================
--- sbin/geom/class/journal/geom_journal.c
+++ sbin/geom/class/journal/geom_journal.c
@@ -144,6 +144,7 @@
intmax_t jsize, msize, ssize;
int error, force, i, nargs, checksum, hardcode;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
str = NULL; /* gcc */
Index: sbin/geom/class/label/geom_label.c
===================================================================
--- sbin/geom/class/label/geom_label.c
+++ sbin/geom/class/label/geom_label.c
@@ -125,6 +125,7 @@
u_char sector[512];
int error, nargs;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs != 2) {
gctl_error(req, "Invalid number of arguments.");
@@ -145,6 +146,7 @@
strlcpy(md.md_magic, G_LABEL_MAGIC, sizeof(md.md_magic));
md.md_version = G_LABEL_VERSION;
label = gctl_get_ascii(req, "arg0");
+ bzero(md.md_label, sizeof(md.md_label));
strlcpy(md.md_label, label, sizeof(md.md_label));
md.md_provsize = g_get_mediasize(name);
if (md.md_provsize == 0) {
Index: sbin/geom/class/mirror/geom_mirror.c
===================================================================
--- sbin/geom/class/mirror/geom_mirror.c
+++ sbin/geom/class/mirror/geom_mirror.c
@@ -188,6 +188,7 @@
intmax_t val;
int error, i, nargs, bal, hardcode;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs < 2) {
gctl_error(req, "Too few arguments.");
Index: sbin/geom/class/raid3/geom_raid3.c
===================================================================
--- sbin/geom/class/raid3/geom_raid3.c
+++ sbin/geom/class/raid3/geom_raid3.c
@@ -151,6 +151,7 @@
int hardcode, round_robin, verify;
int error, i, nargs;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs < 4) {
gctl_error(req, "Too few arguments.");
Index: sbin/geom/class/shsec/geom_shsec.c
===================================================================
--- sbin/geom/class/shsec/geom_shsec.c
+++ sbin/geom/class/shsec/geom_shsec.c
@@ -112,6 +112,7 @@
const char *name;
int error, i, nargs, hardcode;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs <= 2) {
gctl_error(req, "Too few arguments.");
Index: sbin/geom/class/stripe/geom_stripe.c
===================================================================
--- sbin/geom/class/stripe/geom_stripe.c
+++ sbin/geom/class/stripe/geom_stripe.c
@@ -130,6 +130,7 @@
const char *name;
int error, i, nargs, hardcode;
+ bzero(sector, sizeof(sector));
nargs = gctl_get_int(req, "nargs");
if (nargs < 3) {
gctl_error(req, "Too few arguments.");
Index: sbin/geom/misc/subr.c
===================================================================
--- sbin/geom/misc/subr.c
+++ sbin/geom/misc/subr.c
@@ -273,6 +273,13 @@
return (error);
}
+/*
+ * Actually write the GEOM label to the provider
+ *
+ * @param name GEOM provider's name (ie "ada0")
+ * @param md Pointer to the label data to write
+ * @param size Size of the data pointed to by md
+ */
int
g_metadata_store(const char *name, const unsigned char *md, size_t size)
{
Index: sys/geom/virstor/g_virstor.c
===================================================================
--- sys/geom/virstor/g_virstor.c
+++ sys/geom/virstor/g_virstor.c
@@ -1042,6 +1042,7 @@
pp = cp->provider;
buf = malloc(pp->sectorsize, M_GVIRSTOR, M_WAITOK);
+ bzero(buf, pp->sectorsize);
virstor_metadata_encode(md, buf);
g_topology_unlock();
error = g_write_data(cp, pp->mediasize - pp->sectorsize, buf,
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 25, 3:22 AM (11 m, 12 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32088620
Default Alt Text
D14164.id38838.diff (4 KB)
Attached To
Mode
D14164: geom: don't write stack garbage in disk labels
Attached
Detach File
Event Timeline
Log In to Comment