summaryrefslogtreecommitdiffstats
path: root/libblkid
diff options
context:
space:
mode:
authornick black2012-07-07 17:42:17 +0200
committernick black2012-07-07 17:42:17 +0200
commit330ff7edc480b4e897f946c30a2afa38c916b9d0 (patch)
tree8900a3a7169bbb81e9d486a4c4c501d1e6c06b1d /libblkid
parentproperly check for ansi c99 vsnprint truncation (diff)
downloadkernel-qcow2-util-linux-330ff7edc480b4e897f946c30a2afa38c916b9d0.tar.gz
kernel-qcow2-util-linux-330ff7edc480b4e897f946c30a2afa38c916b9d0.tar.xz
kernel-qcow2-util-linux-330ff7edc480b4e897f946c30a2afa38c916b9d0.zip
use memcpy() to cope with possible misalignment
Diffstat (limited to 'libblkid')
-rw-r--r--libblkid/src/topology/topology.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libblkid/src/topology/topology.c b/libblkid/src/topology/topology.c
index 5cde18767..02476e502 100644
--- a/libblkid/src/topology/topology.c
+++ b/libblkid/src/topology/topology.c
@@ -222,14 +222,13 @@ static int topology_set_value(blkid_probe pr, const char *name,
return 0; /* ignore zeros */
if (chn->binary) {
- unsigned long *v =
- (unsigned long *) (chn->data + structoff);
- *v = data;
+ memcpy(chn->data + structoff, &data, sizeof(data));
return 0;
}
return blkid_probe_sprintf_value(pr, name, "%llu", data);
}
+
/* the topology info is complete when we have at least "minimum_io_size" which
* is provided by all blkid topology drivers */
static int topology_is_complete(blkid_probe pr)