summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordumbbell <dumbbell@FreeBSD.org>2013-03-05 11:02:05 +0000
committerdumbbell <dumbbell@FreeBSD.org>2013-03-05 11:02:05 +0000
commitb05b4c54a08f83ba25f51e6bda9418177186a611 (patch)
treea309f719f8dade17917a5bab650baf995a6ffd06
parent5e8164725570d295bde0a5b023ebb2e9c0452858 (diff)
downloadFreeBSD-src-b05b4c54a08f83ba25f51e6bda9418177186a611.zip
FreeBSD-src-b05b4c54a08f83ba25f51e6bda9418177186a611.tar.gz
g_label_ntfs.c: Mark structures as __packed
Without this, read data is mis-interpreted. This could trigger a panic, as was the case on one computer where computed "recsize" was zero, leading to a call to g_read_page() asking for 0 bytes.
-rw-r--r--sys/geom/label/g_label_ntfs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/geom/label/g_label_ntfs.c b/sys/geom/label/g_label_ntfs.c
index f00669e..1ed4a07 100644
--- a/sys/geom/label/g_label_ntfs.c
+++ b/sys/geom/label/g_label_ntfs.c
@@ -55,7 +55,7 @@ struct ntfs_attr {
uint16_t reserved3;
uint16_t a_dataoff;
uint16_t a_indexed;
-};
+} __packed;
struct ntfs_filerec {
uint32_t fr_hdrmagic;
@@ -70,7 +70,7 @@ struct ntfs_filerec {
uint32_t fr_allocated;
uint64_t fr_mainrec;
uint16_t fr_attrnum;
-};
+} __packed;
struct ntfs_bootfile {
uint8_t reserved1[3];
@@ -89,7 +89,7 @@ struct ntfs_bootfile {
uint8_t bf_mftrecsz;
uint32_t bf_ibsz;
uint32_t bf_volsn;
-};
+} __packed;
static void
g_label_ntfs_taste(struct g_consumer *cp, char *label, size_t size)
OpenPOWER on IntegriCloud