summaryrefslogtreecommitdiffstats
path: root/e2fsprogs-1.42.12-use-after-free-fix.patch
blob: 738ee27d44774f5e23b141c1c7e29e60ab220683 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
commit ebdf895b43a1ce499e4d2556a201e2a753fc422f
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Wed Oct 8 11:18:41 2014 -0400

    e2fsck: fix free pointer dereferences
    
    Commit 47fee2ef6a23a introduces some free pointer dereference bugs by
    not clearing ctx->fs after calling ext2fs_close_free().
    
    Reported-by: Matthias Andree <mandree@FreeBSD.org>
    Cc: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>

diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index 66debcd..10036e7 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -458,7 +458,7 @@ static void check_if_skip(e2fsck_t ctx)
 	}
 	log_out(ctx, "\n");
 skip:
-	ext2fs_close_free(&fs);
+	ext2fs_close_free(&ctx->fs);
 	e2fsck_free_context(ctx);
 	exit(FSCK_OK);
 }
@@ -1462,7 +1462,7 @@ failure:
 		/*
 		 * Restart in order to reopen fs but this time start mmp.
 		 */
-		ext2fs_close_free(&fs);
+		ext2fs_close_free(&ctx->fs);
 		flags &= ~EXT2_FLAG_SKIP_MMP;
 		goto restart;
 	}
@@ -1692,7 +1692,7 @@ no_journal:
 				_("while resetting context"));
 			fatal_error(ctx, 0);
 		}
-		ext2fs_close_free(&fs);
+		ext2fs_close_free(&ctx->fs);
 		goto restart;
 	}
 	if (run_result & E2F_FLAG_ABORT)