From 8aa2769d702374cd582685cb25a6b703f07865e1 Mon Sep 17 00:00:00 2001 From: Erik Larsson Date: Mon, 25 Jan 2016 11:30:13 +0100 Subject: [PATCH] mst.c: Fix mixed native/little-endian usage of variable 'usn'. --- libntfs-3g/mst.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libntfs-3g/mst.c b/libntfs-3g/mst.c index 9a164390..9dff7738 100644 --- a/libntfs-3g/mst.c +++ b/libntfs-3g/mst.c @@ -157,6 +157,7 @@ int ntfs_mst_post_read_fixup(NTFS_RECORD *b, const u32 size) int ntfs_mst_pre_write_fixup(NTFS_RECORD *b, const u32 size) { u16 usa_ofs, usa_count, usn; + le16 le_usn; le16 *usa_pos, *data_pos; ntfs_log_trace("Entering\n"); @@ -189,8 +190,8 @@ int ntfs_mst_pre_write_fixup(NTFS_RECORD *b, const u32 size) usn = le16_to_cpup(usa_pos) + 1; if (usn == 0xffff || !usn) usn = 1; - usn = cpu_to_le16(usn); - *usa_pos = usn; + le_usn = cpu_to_le16(usn); + *usa_pos = le_usn; /* Position in data of first le16 that needs fixing up. */ data_pos = (le16*)b + NTFS_BLOCK_SIZE/sizeof(le16) - 1; /* Fixup all sectors. */ @@ -201,7 +202,7 @@ int ntfs_mst_pre_write_fixup(NTFS_RECORD *b, const u32 size) */ *(++usa_pos) = *data_pos; /* Apply fixup to data. */ - *data_pos = usn; + *data_pos = le_usn; /* Increment position in data as well. */ data_pos += NTFS_BLOCK_SIZE/sizeof(le16); }