Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3aebf25b authored by Anton Altaparmakov's avatar Anton Altaparmakov
Browse files

NTFS: Fix a stupid bug causing writes to non-initialized pages to segfault.

parent 1f04c0a2
Loading
Loading
Loading
Loading
+9 −8
Original line number Original line Diff line number Diff line
@@ -668,10 +668,10 @@ map_buffer_cached:
				 * to, we need to read it in before the write,
				 * to, we need to read it in before the write,
				 * i.e. now.
				 * i.e. now.
				 */
				 */
				if (!buffer_uptodate(bh) && ((bh_pos < pos &&
				if (!buffer_uptodate(bh) && bh_pos < end &&
						bh_end > pos) ||
						bh_end > pos &&
						(bh_end > end &&
						(bh_pos < pos ||
						bh_end > end))) {
						bh_end > end)) {
					/*
					/*
					 * If the buffer is fully or partially
					 * If the buffer is fully or partially
					 * within the initialized size, do an
					 * within the initialized size, do an
@@ -784,10 +784,11 @@ retry_remap:
						blocksize_bits);
						blocksize_bits);
				cdelta = 0;
				cdelta = 0;
				/*
				/*
				 * If the number of remaining clusters in the
				 * If the number of remaining clusters touched
				 * @pages is smaller or equal to the number of
				 * by the write is smaller or equal to the
				 * cached clusters, unlock the runlist as the
				 * number of cached clusters, unlock the
				 * map cache will be used from now on.
				 * runlist as the map cache will be used from
				 * now on.
				 */
				 */
				if (likely(vcn + vcn_len >= cend)) {
				if (likely(vcn + vcn_len >= cend)) {
					if (rl_write_locked) {
					if (rl_write_locked) {